Php 按供应商列出的产品类别-laravel
我正在开发一个类似MySQL电子商务的Laravel网站,我可以按供应商/商店显示其类别下的所有产品 但问题是,如果我在同一类别下添加了一个产品,它也会向其他同样拥有该类别的供应商显示,这不应该发生 我的问题是:Php 按供应商列出的产品类别-laravel,php,mysql,laravel,Php,Mysql,Laravel,我正在开发一个类似MySQL电子商务的Laravel网站,我可以按供应商/商店显示其类别下的所有产品 但问题是,如果我在同一类别下添加了一个产品,它也会向其他同样拥有该类别的供应商显示,这不应该发生 我的问题是: $categories = Categories::with('products') ->whereHas('products', function ($query) use ($id) { $query->where('store_id' ,$id); }
$categories = Categories::with('products')
->whereHas('products', function ($query) use ($id) {
$query->where('store_id' ,$id);
})
->get();
我想问题出在和部分?但我不知道该怎么做
数据库结构:
store
id | name
products
id | store_id | category_id | name
categories
id | name
WhereHas()
检查是否有,但不过滤结果。该商店是否有产品,如果有,请返回您现在包含的所有类别,其中包括未过滤的产品
有一个数组语法,用于过滤with()
调用。这将正确显示产品
Categories::with(['products' => function ($query) use ($id) {
$query->where('store_id' ,$id);
}])
谢谢你的回答mrhn,我会尝试这个,并尽快更新你。我在你的回答中添加了用法($id)。现在它正在按预期工作!非常感谢@mrhnofc,有点快:)谢谢蒂姆·刘易斯,我更新了我的问题。