加入不使用enableAjaxTable的关系

时间:2017-09-27 14:41:42

标签: php laravel

我正在使用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中工作

ajax控制台中的

错误:

  

SQLSTATE [23000]:违反完整性约束:1052列' name'在字段列表中不明确(SQL:选择namenameshop_idshop_iddiscountdiscountdiscount_exp作为discount_exppricepricestatusstatusidid来自products内部联接shops上的shops id = productsshop_id内部加入shop_user shop_user shop_id shops {1}}。id其中shop_useruser_id = 1限制25偏移0)

1 个答案:

答案 0 :(得分:0)

这意味着,字段name存在于两个表中。您可以使用aliases或使用$query->select('id ,shops.name, ...')->join(...)