درود دوستان...
با دستور 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>
درود دوستان...
مشکل حل شد.
پس از جستجو بسیار کد باید به شکل زیر باشد:
فراخوانی مدل Tag:
use App\Tag;
کد ایندکس:
public function create()
{
$tags = Tag::all();
return view('discuss.create',compact('tags'));
}
@RaymondDragon
سلام
خب اینجوری که مشحص نیست . باید کد کنترلر رو هم بذارین
احتمالا tags رو درست نفرستادین به view
@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('برچسب شما با موفقیت حذف شد.');
}
}
@RaymondDragon
کد ایندکس رو به این صورت بنویس
من این فرمتی که شما نوشتی ندیدم تا حالا
public function index()
{
$tags = Tag::all();
return view('tags.index',compact('tags'));
}
@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('برچسب شما با موفقیت حذف شد.');
}
}
اینم دیتابیس:
<?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');
}
}
درود دوستان...
کسی نمی تونه این مشکل رو حل کنه؟
سیستم برچسب گذاری ساخته شده ولی مشکل اینه که نمی تونه به سیستم برچسب گذاری ارتباط برقرار کنه...
اینم رابطه 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');
}
}
درود دوستان...
مشکل حل شد.
پس از جستجو بسیار کد باید به شکل زیر باشد:
فراخوانی مدل Tag:
use App\Tag;
کد ایندکس:
public function create()
{
$tags = Tag::all();
return view('discuss.create',compact('tags'));
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟