Итак, у меня есть 2 таблицы, статьи и подкатегории. Они связаны через Eloquent: статьи имеют много подкатегорий, и подкатегории принадлежат статье. Они связаны с внешними ключами как таковыми: в "article" category_id.
Как получить всю статью данных таблицы, где категория "DOG" для примера
Извините за абстракцию, но это лучший способ объяснить это? : D
артикул модели
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Articles extends Model
{
use SoftDeletes;
public function user() {
return $this->belongsTo('App\User') ;
}
public function sous_categories() {
return $this->belongsTo('App\SouCategories') ;
}
}
модель подкатегории
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class SouCategories extends Model
{
public function categories() {
return $this->belongsTo('App\Categories') ;
}
public function articles() {
return $this->hasMany('App\Articles','cat_id') ;
}
}
в моем контроллере я пытаюсь получить данные, основанные на внешнем ключе в подкатегории и подкатегории foreach. Я создаю массив, такой как mainslider, содержащий статьи, которые имеют определенную подкатегорию
public function index()
{
$infos = Infos::all();
$categories = Categories::all();
$articles=Articles::all();
$mainslider=Soucategories::with('articles')->get();
foreach($mainslider as $record){
dd($record->articles);
}
die();
return view('frontEnd.homepage',compact('infos','categories','articles','mainslider'));
}