2 回答

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個贊
使用 whereHas 兩次解決:
$products = Product::with('categories')->whereHas('categories',function($query){
$query->where('slug',request()->category);
})->whereHas('orders',function($query){
$query->where('orders.user_id',Auth::id());
})->get();

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個贊
基本上 Eloquent 模型不鼓勵連接表來檢索數(shù)據(jù)。它應(yīng)該僅用于過濾結(jié)果(因此您需要使用刪除其他表的字段->select('original_table.*'))
在這種情況下,您應(yīng)該首先簡單地檢索categories。然后使用關(guān)系屬性訪問檢索相關(guān)數(shù)據(jù)。
例如
$categories = Category::query()
->with('products')
->where('slug', request('category'))
->get();
$products = $categories->flatMap->products;
$pivots = $products->map->pivot;
- 2 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報