Здравствуйте, я изучаю laravel, и у меня возникла проблема с получением данных из моих отношений.
В моей базе данных есть продукт и группы, заполненные фиктивными данными.
Я определил мои отношения следующим образом в модели продукта:
public function Group()
{
return $this->hasMany('App\Groups','product_id', 'id');
}
И в моей группе наоборотс:
public function Product()
{
return $this->belongsTo('App\Product','product_id', 'id');
}
Я ссылаюсь на таблицу продуктов следующим образом:
$table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
Теперь у меня есть столбец product_id в моей базе данных в группах, и он связан с if из продуктов.id это кажется.
Таблица groups содержит свой автоматически увеличенный id и столбец внешнего ключа product_id.
В то время как в таблице товаров есть столбец идентификатора и имени с автоинкрементом.
Проблема заключается в следующем: Как вернуть товары, которые не равны нулю или имеют значение (идентификатора товара) в таблице групп.
Я пытался что-то подобное в моем контроллере фильтра:
public function getProductsWithGroup()
{
$Products = Product::with('groups')->get();
return $Products ;
}
Но это вызывает у меня неопределенные отношения.
Я не уверен, какДоступ к методам ownTo или hasMany, и нужен ли мне дополнительный столбец group_id в моей таблице продуктов.