У нас есть три блока
И три категории:
Iхотите отобразить категории, где categoory_id
= id
Контроллер
public function index ()
{
$id = 1;
$webDesigns = About::with(['categories' => function($q) use ($id) {
$q->where('category_id', $id);
}])->get();
return $webDesigns;
$webDesigns = About::with(['categories' => function($q) { $q->where('id', 1); }])->get();
$developers = About::with(['categories' => function($q) { $q->where('id', 2); }])->get();
$graphics = About::with(['categories' => function($q) { $q->where('id', 3); }])->get();
$computers = About::with(['categories' => function($q) { $q->where('id', 4); }])->get();
return view('Home.index', compact('webDesigns', 'developers', 'graphics', 'computers'));
}
Модель
public function categories()
{
return $this->belongsToMany(Category::class);
}
Таблицы (ы)
Schema::create('about_category', function (Blueprint $table) {
$table->integer('about_id')->unsigned();
$table->integer('category_id')->unsigned();
$table->foreign('about_id')->references('id')->on('abouts')->onDelete('cascade');
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
});
Schema::create('categories', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
Schema::create('abouts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('body');
$table->timestamps();
});
Какк этой работе?ИЛИ Что мне не хватает?