У меня есть две таблицы
product: id|category ...
category: id|name ...
product.category - это внешний ключ, связанный с category.id.Я создаю базовый CRUD и хотел бы отобразить все продукты в таблице продуктов, а также название категории, к которой они принадлежат, а не идентификатор категории.Чтобы сделать это, при поиске документации laravel я наткнулся на конструктор запросов и достиг своей цели.
public function index()
{
$products = \DB::table('products')
->join('categories', 'products.category', '=', 'categories.id')
->select('*')
->get();
return view('product' ,compact('products'));
}
Под моими моделями для продукта и категории я создал соответствующие отношения.
product.php :
public function category()
{
return $this->belongsTo('App\Category');
}
category.php :
public function products()
{
return $this->hasMany('App\Product');
}
Я постоянно слышу о силе Eloquent, и мне было интересно, как я могу добиться аналогичного результата с eloquent, и предназначен ли eloquent для таких операций или построитель запросовэто правильный путь.Кажется, что каждый учебник онлайн использует только сценарий поста и комментариев для получения всех комментариев, относящихся к посту.