【发布时间】:2019-02-23 14:40:45
【问题描述】:
我正在尝试从数据库中获取所有具有products 的categories 并将它们推送到另一个数组中。
我有四个 3 categories,其中两个有 products。
这是我的代码:
$categories = Category::all();
$count = count($categories);
$categoriesWithProducts = array();
for($i = 0; $i < $count; $i++) {
if($categories[$i]->products->count() > 0) {
array_push($categoriesWithProducts, $categories[$i]);
}
return response()->json($categoriesWithProducts);
}
我得到了一个只有一项而不是两项的数组。
我哪里错了?
【问题讨论】:
-
使用 $i
-
试试
if(count($categories[$i]->products) > 0) { -
移动您的
return,使其位于循环之后(外部)。目前,它总是会在第一次迭代后返回数据。 -
@MagnusEriksson 我实际上错过了这一点。谢谢它解决了。
-
投票结束是一个错字。
标签: php laravel laravel-5 eloquent laravel-5.7