[英]Returning all the grandson in Laravel
在我的模型中,我有這些關系:
我想通過子類目表展示一個類目的所有產品。
所以,我寫了這段代碼,但我在 dd($products) 處遇到了問題,因為只得到了一個產品。
你能幫我解決我的代碼中的問題嗎?
public function show(Category $category)
{
$subcategories = Subcategory::join('categories','subcategories.category_id','categories.id')
->where('subcategories.category_id',$category->id)
->select('subcategories.id')
->get();
// dd($子類別); 給我 3 個不同的子類別 -> 確定
foreach ($subcategories as $subcategory) {
$query = Product::where('products.subcategory_id',$subcategory->id)->get();
}
$products = $query;
// dd($產品); 只給我 1 個產品(實際上有 4 個產品)-> NOK
$data = [
'title'=> $description = $category->title,
'description'=> $description,
'heading'=> config('app.name'),
'category'=>$category,
'subcategory'=>$subcategories,
'products'=>$products,
];
// dd($data);
return view('category.show', $data)->with('products', $products);
看來您只是重新聲明 $query 變量而不是將其視為數組,這就是為什么只帶一個:
foreach ($subcategories as $subcategory) { $query[] = Product::where('products.subcategory_id',$subcategory->id)->get(); } $products = $query;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.