我试图以递归方式检索当前和子类别的所有产品,但不幸的是它总是返回一个空数组。这是我的方法。
class Category {
public static $products = [];
public static function products($id) {
array_merge(self::$products, DB::table('products')->where('category_id', $id)->get());
$categories = DB::table('categories')->where('parent_id', $id)->get();
foreach ($categories as $category) {
self::products($category->id);
}
return self::$products;
}
}
执行此方法后,Category :: products是一个空数组。有人可以帮我找到正确的方法吗?
答案 0 :(得分:1)
您需要指定array_merge
的结果。它返回一个新数组,它不会修改参数数组。
self::$products = array_merge(self::$products, DB::table('products')->where('category_id', $id)->get());