خطای Undefined variable tags

3 سال پیش توسط پایان جهان مطرح شد
آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

درود دوستان...
با دستور foreach خطا می دهد که میگه tags موجود نیست:

<div class="form-group">
 <label class="col-form-label" for="option1">برچسب ها</label>
    <select class="form-control" id="js" multiple="multiple" name="tags[]">
        @foreach ($tags as $tag)
               <option value="{{ $tag->id }}">{{ $tag->name }}</option>
         @endforeach
   </select>
</div>
بهترین پاسخ
آفلاین
user-avatar
پایان جهان
3 سال پیش

درود دوستان...
مشکل حل شد.
پس از جستجو بسیار کد باید به شکل زیر باشد:
فراخوانی مدل Tag:

use App\Tag;

کد ایندکس:

public function create()  
{  
$tags = Tag::all();  
return view('discuss.create',compact('tags'));  
}
آفلاین
user-avatar
وحید رضازاده ( 17169 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0

@RaymondDragon
سلام
خب اینجوری که مشحص نیست . باید کد کنترلر رو هم بذارین
احتمالا tags رو درست نفرستادین به view

آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@vahidrezazadeh
درود...

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Tag;

class TagController extends Controller
{
    public function index()
    {
        $tags = Tag::all();
        return view('tags.index') -> withTags($tags);
    }

    public function store(Request $request)
    {
        $this -> validate($request, array(
            'name' => 'required | max:50',
        ));

        $tags = New Tag;
        $tags -> name = $request -> name;
        $tags -> save();

        return redirect() -> route('tags.index', $tags->id) -> withMessage('برچسب شما با موفقیت ایجاد شد!');
    }

    public function edit($id)
    {
        $tags = Tag::find($id);
        return view('tags.edit') -> withTags($tags);
    }

    public function update(Request $request, $id)
    {
        $this -> validate(
            $request, array(
            'name' => 'required | max:50',
        )
    );

        $tags = Tag::find($id);
        $tags -> name = $request -> input('name');
        $tags -> save();

        return redirect() -> route('tags.index', $tags->id) -> withMessage('برچسب شما با موفقیت ویرایش شد!');
    }

    public function destroy($id)
    {
        $tags = Tag::find($id);
        $tags -> delete();

        return redirect()-> route('tags.index') -> withMessage('برچسب شما با موفقیت حذف شد.');
    }
}
آفلاین
user-avatar
وحید رضازاده ( 17169 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0

@RaymondDragon
کد ایندکس رو به این صورت بنویس
من این فرمتی که شما نوشتی ندیدم تا حالا

    public function index()
    {
        $tags = Tag::all();
        return view('tags.index',compact('tags'));
    }
آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@vahidrezazadeh

درود...
کار نکرد ...

آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

کسی نیست بگه...

آفلاین
user-avatar
Masiht ( 3426 تجربه )
3 سال پیش
تخصص : برنامه نویس سمت سرور (php)

لینک کوتاه اشتراک گذاری

0

سلام @RaymondDragony جان !

ببینم با کامپکت اون متغیر را به اون ویو فرستادید ؟

آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@masiht
آره فرستادم ولی کار نکرد...

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Tag;

class TagController extends Controller
{
    public function index()
    {
        $tags = Tag::all();
        return view('tags.index',compact('tags'));
    }

    public function create()
    {
        $tags = Tag::all();
        return view('tags.create',compact('tags'));
    }

    public function store(Request $request)
    {
        $this -> validate($request, array(
            'name' => 'required | max:50',
        ));

        $tags = New Tag;
        $tags -> name = $request -> name;
        $tags -> save();

        return redirect() -> route('tags.index', $tags->id) -> withMessage('برچسب شما با موفقیت ایجاد شد!');
    }

    public function show($id)
    {
        $tags = Tag::find($id);
        return view('tags.show',compact('tags'));
    }

    public function edit($id)
    {
        $tags = Tag::find($id);
        return view('tags.edit',compact('tags'));
    }

    public function update(Request $request, $id)
    {
        $this -> validate(
            $request, array(
            'name' => 'required | max:50',
        )
    );

        $tags = Tag::find($id);
        $tags -> name = $request -> input('name');
        $tags -> save();

        return redirect() -> route('tags.index', $tags->id) -> withMessage('برچسب شما با موفقیت ویرایش شد!');
    }

    public function destroy($id)
    {
        $tags = Tag::find($id);
        $tags -> delete();

        return redirect()-> route('tags.index') -> withMessage('برچسب شما با موفقیت حذف شد.');
    }
}
آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

اینم دیتابیس:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateDiscussTagTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('discuss_tag', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('discuss_id')->unsigned();
            $table->integer('tag_id')->unsigned();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('discuss_tag');
    }
}
آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

درود دوستان...
کسی نمی تونه این مشکل رو حل کنه؟
سیستم برچسب گذاری ساخته شده ولی مشکل اینه که نمی تونه به سیستم برچسب گذاری ارتباط برقرار کنه...
اینم رابطه Many to Many که ایجاد شده:
Tag.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Tag extends Model
{
    public function discusses()
    {
        return $this->belongsToMany('App\Discuss');
    }
}

Discuss.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Discuss extends Model
{
    public function tags()
    {
        return $this->belongsToMany('App\Tag');
    }
}
آفلاین
user-avatar
پایان جهان ( 147745 تجربه )
3 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

درود دوستان...
مشکل حل شد.
پس از جستجو بسیار کد باید به شکل زیر باشد:
فراخوانی مدل Tag:

use App\Tag;

کد ایندکس:

public function create()  
{  
$tags = Tag::all();  
return view('discuss.create',compact('tags'));  
}
برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.