Laravel связь между таблицами
изучаю laravel. Вопрос такой Есть две таблице
Во второй таблице есть goods_id где хранит id из первой таблице, мне вытащить данные из второй таблице, на данный момент я хочу взять кол-во записей, на главной странице выводить всю информацию
P.s Во второй таблице нету модели
Ответы (1 шт):
В миграции при создании второй таблицы нужно добавить внешнюю связь:
$table->foreign('goods_id')->references('id')->on('goods')->onDelete('cascade');
Кроме этого нужно создать модель для второй таблицы (назовем ее, условно, GoodsInfo. Первая модель - Goods) и в объекте Goods указать отношение:
public function goodsInfo() {
return $this->hasMany(GoodsInfo::class);
}
Далее после получения записи Goods обращаемся к свойству goodsInfo:
$goods->goodsInfo
В этом свойстве находится коллекция со всеми записями из второй таблицы (только те, которые относятся к текущему товару). Возможно будет иметь смысл воспользоваться нетерпеливой загрузкой при получении записей