Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从Laravel中的数组中获取值_Php_Arrays_Laravel - Fatal编程技术网

Php 如何从Laravel中的数组中获取值

Php 如何从Laravel中的数组中获取值,php,arrays,laravel,Php,Arrays,Laravel,我有一个三级分类。我需要获得3级类别的业务 我写这段代码: $main_cat = Category::where(['slug' => $url])->first(); $lev_cat2 = Category::where(['parent_id' => $main_cat->id, 'status' => '1'])->get(); foreach ($lev_cat2 as $subCategory) { $cat_ids_l

我有一个三级分类。我需要获得3级类别的业务

我写这段代码:

$main_cat = Category::where(['slug' => $url])->first();
$lev_cat2 = Category::where(['parent_id' => $main_cat->id, 'status' => '1'])->get();
 foreach ($lev_cat2 as $subCategory) {
            $cat_ids_lv2[] = $subCategory->id . ',';
        }
 foreach ($lev_cat2 as $subCat) {
            $lev_cat3[] = Category::where(['parent_id' => $subCat->id, 'status' => '1'])->pluck('id')->toArray();
        }

dd($lev_cat3);
然后我得到了一个正确的数组:

array:5 [▼
  0 => array:3 [▼
    0 => 145
    1 => 146
    2 => 147
  ]
  1 => array:3 [▼
    0 => 148
    1 => 149
    2 => 150
  ]
  2 => array:3 [▼
    0 => 151
    1 => 152
    2 => 153
  ]
  3 => array:3 [▼
    0 => 154
    1 => 155
    2 => 156
  ]
  4 => []
]
现在我不知道怎样才能得到像145146147148149这样的值,。。。传递主题

Business::where(['category_id'=> [145,146,147,148,...]]->get();

当然是动态的

您可以使用laravel集合帮助程序:

Business::whereIn('category_id', collect($lev_cat3)->flatten()->all())->get();

由于PHP5.5.0,有一个内置函数可以实现这一点

您可以使用它将php数组转换为单个数组,然后像这样使用它

$category_ids = array_column($lev_cat3);

Business::where(['category_id'=> $category_ids]]->get();