Я работаю над приложениями, которые можно использовать для создания заказов на прайс-листы.
Вкратце : в ресторане есть прайс-лист, который можно обновить, следуя потоку, в котором он можетвведите новые цены.
В результате будет сформирован ценовой заказ.
Теперь я хочу, чтобы я извлек все категории с продуктами (без проблем), а затем я хочу установить отношение от продукта к PriceOrderProduct , чтобы я зналкогда продукт используется в заказе.
У меня есть это сейчас:
ProductCategory::with('products.orderProduct')->orderBy('order')->get()
, что дает мне эту ошибку:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias:
полная ошибка:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'price_order_products' (SQL: select `price_order_products`.*, `price_order_products`.`product_id` as `pivot_product_id`, `price_order_products`.`id` as `pivot_id` from `price_order_products` inner join `price_order_products` on `price_order_products`.`id` = `price_order_products`.`id` where `price_order_products`.`product_id` in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11))
Я искал эту ошибку, но не знаю, как исправить, может кто-нибудь помочь мне с этой проблемой?
Это мои таблицы и отношения:
(Я использую префикс price_
для своих таблиц)
Таблица: price_product_categories
- id
информация о категории и т. Д.
Модель: ProductCategory
public function products()
{
return $this->hasMany(Product::class, 'product_category_id');
}
==========================
price_products
- id
- product_category_id
информация о продукте и т. Д.
Модель: Product
public function categories()
{
return $this->belongsTo(ProductCategory::class, 'product_category_id');
}
public function orderProduct()
{
return $this->belongsToMany(PriceOrderProduct::class, 'price_order_products', 'product_id', 'id');
}
==========================
Таблица: Price_orders
- id
- Restaurant_id
и т. д.
Модель: PriceOrder
public function products()
{
return $this->hasMany(PriceOrderProduct::class, 'order_id');
}
==========================
Таблица price_order_products
- код заказа
- product_id
- цена
- product_info
Модель: PriceOrderProduct
public function orders()
{
return $this->belongsTo(PriceOrder::class);
}
public function products()
{
return $this->hasMany(Product::class, 'id', 'product_id');
}