gpt4 book ai didi

php - Laravel 加载子类别时查询结果翻倍

转载 作者:行者123 更新时间:2023-11-29 11:23:17 26 4
gpt4 key购买 nike

我遇到了奇怪的问题,无法理解它是从哪里来的。在我的页面上,我有顶级类别。当我单击顶级类别时,会打开页面,其中包含他们拥有产品的所有子类别。

问题是,如果我的 sub-category_1 中有 2 个产品,我会在页面上看到两次 sub-category_1

这是我拥有的 Controller

public function showSubCats($categoryId) {

$subcats = SubCategories::select('*', DB::raw('sub_category.sub_cat_id AS sub_cat_id'))
->leftJoin('products', function($join) {
$join->on('products.sub_cat_id', '=', 'sub_category.sub_cat_id');
})
->where('sub_category.category_id', '=', $categoryId)
->whereNotNull('products.sub_cat_id')
->get();

return View::make('site.subcategory', [
'subcats' => $subcats
]);
}

这是 View

 @foreach($subcats as $i => $subcategory)   

// html
@endforeach

这就是结果..应该是一个子类别,里面有两种产品..现在我有两个相同的子类别..相同的产品,相同的id.. enter image description here

最佳答案

将您的查询更改为

$subcats = DB::table('sub_category as sc')
->leftJoin('products as p', 'p.sub_cat_id', '=', 'sc.sub_cat_id')//cross check this sc.sub_cat_id may be it si sc.id
->where('sc.category_id', '=', $categoryId)
->whereNotNull('p.sub_cat_id')
->select('*', DB::raw('sc.sub_cat_id AS sub_cat_id'))
->get();

关于php - Laravel 加载子类别时查询结果翻倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com