У меня есть таблица с именем order_details, в которой есть два внешних ключа. (1.) order_id (2.) product_id
Я сжал всю таблицу, на мой взгляд. когда я получаю доступ к записям, относящимся к заказу, они работают хорошо, но когда я пытаюсь получить доступ к записи продуктов, которые являются чужими как product_id в таблице order_detail, я получаю нулевое значение.
Таблица OrderDetails:
Schema::create('order_details', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('order_id');
$table->foreign('order_id')->references('id')->on('orders');
$table->unsignedBigInteger('product_id');
$table->foreign('product_id')->references('id')->on('products');
$table->integer('quantity');
$table->integer('amount');
$table->timestamps();
});
Модель OrderDetail:
public function order(){
return $this->belongsTo(Order::class);
}
public function products(){
return $this->hasMany(Product::class);
}
Модель заказа:
public function orderDetails(){
return $this->hasMany(OrderDetail::class);
}
Модель товара:
public function orderDetail(){
return $this->belongsTo(OrderDetail::class);
}
Я сжал всю таблицу в $ orderDetails на мой взгляд. когда я пытаюсь получить доступ к данным таблицы Order следующим образом:
$orderDetails[0]->Order['total_ammount']
работает нормально, так как обращается к модели заказа через order_id. но таким же образом я пытаюсь получить данные из модели продукта, используя product_id, как это
$orderDetails[0]->Product['name']
, которое показывает мне, что нет ошибки, но ноль.