У меня есть свой класс "Product_reviews", который связан с классом "Products" следующим образом:
Products.php:
public function product_reviews()
{
return $this->hasMany('App\Product_reviews');
}
Product_reviews.php:
public function products()
{
return $this->belongsTo('App\Products');
}
Внешний ключ для таблицы «Product_reviews» - «product_id».
Итак, в контроллере я пытаюсь получить все данные:
$products = Products::with('product_reviews')->get();
И ... У меня есть ошибка, говорящая, что product_id не может быть найден:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'product_reviews.products_id' in 'where clause' (SQL: select * from `product_reviews` where `product_reviews`.`products_id` in (1, 2))
Исправьте меня, если я ошибаюсь, но я думаю, что построитель запросов добавляет'_id' к названию класса.Это можно исправить, перейдя к таблице «product_reviews» и изменив «product_id» на «products_id» ... Или, возможно, я мог бы передать имена всех классов и таблиц в единственное число.
Итак, мой вопрос:Какие еще варианты у меня есть, чтобы создатель запросов знал правильное имя столбца?