gpt4 book ai didi

php - Laravel 5产品订单关系语法: Not unique table/alias

转载 作者:行者123 更新时间:2023-12-03 08:26:31 24 4
gpt4 key购买 nike

我正在开发可用于为产品定价 list 的应用程序。
简短地说,:一家餐馆有一个价目表,他们可以按照可插入新价格的流程进行更新。

结果,将生成价格订单。

现在,我想要的是我检索产品的所有类别(没有问题),然后我要建立一个从产品到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');
}

=========================
价格_产品
- ID
-product_category_id
产品信息等

产品型号:产品
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');
}

=========================
表价格_order_产品
-order_id
-product_id
- 价钱
-product_info

模型:PriceOrderProduct
public function orders()
{
return $this->belongsTo(PriceOrder::class);
}

public function products()
{
return $this->hasMany(Product::class, 'id', 'product_id');
}

最佳答案

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
protected $table = 'price_products';

public function categories()
{
return $this->belongsTo(ProductCategory::class, 'product_category_id');
}

public function orderProducts()
{
return $this->hasMany(PriceOrderProduct::class, 'product_id');
}
}

这将对您查询所需的输出有用。通过获取hasMany关系而不是belongsToMany。

关于php - Laravel 5产品订单关系语法: Not unique table/alias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53429846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com