我想得到产品清单
如果它们不存在于我的收藏中
. 但它返回未找到的列。
误差
SQLSTATE[42S22]: Column not found: 1054 Unknown column '1' in 'on clause' (SQL: select * from `products` inner join `collection_products` on `collection_products`.`collection_id` = `1` and `collection_products`.`product_id` != products.id where `products`.`status` = active)
代码
public function edit($id)
{
$collection = Collection::findOrFail($id);
$products = DB::table('products')
->where('products.status', 'active')
->join('collection_products', function ($join) use($id) {
$join->on('collection_products.collection_id', '=', $id)
->where('collection_products.product_id', '!=', 'products.id');
})
->get();
return view('admin.collections.edit', compact('collection', 'products'));
}
截图
collection_products Table
逻辑
通过上面的查询,我应该得到所有处于活动状态的产品,但ID为的产品除外。
3, 4, 20
因为它们已经签名到此集合。
有什么想法吗?