我正在使用laravel和背包, 背包里有问题吗?因为这个范围正常工作
在我的控制器中我添加了2个连接: 我的模型范围:
public function scopeRep($query)
{
return $query
->join('shops','shops.id' , '=' ,'products.shop_id')
->join('shop_user','shop_user.shop_id' , '=' ,'shops.id')
->where('shop_user.user_id',Auth::user()->id)
->select('products.*');
}
我是通过将$this->crud->addClause('rep')
添加到我的控制器来实现的。
范围与dd(Product::rep()->get())
一起使用并禁用ajaxTable精细工作。但不能在ajax crud中工作
错误:
SQLSTATE [23000]:违反完整性约束:1052列' name'在字段列表中不明确(SQL:选择
name
为name
,shop_id
为shop_id
,discount
为discount
,discount_exp
作为discount_exp
,price
为price
,status
为status
,id
为id
来自products
内部联接shops
上的shops
id
=products
。shop_id
内部加入shop_user
shop_user
shop_id
shops
{1}}。id
其中shop_user
。user_id
= 1限制25偏移0)
答案 0 :(得分:0)
这意味着,字段name
存在于两个表中。您可以使用aliases或使用$query->select('id ,shops.name, ...')->join(...)