У меня есть API laravel с именем get_product_list, он получает некоторые параметры и затем использует встроенную функцию php array_filter для фильтрации всех продуктов и возвращает их в конце. Это что-то вроде следующего кода.
public function get_product_list(Request $request)
{
//validations
//some code
$all_products = NULL ;
//getting all products in an array
$all_products = $this->get_all_products();
//applying filters
$all_products = array_filter($all_products, function($product) use($request){
$category_flag = true;
if($request->filled('category_id')){
$category_flag = ( $request->category_id == $product['main']->category_id);
}
return $category_flag;
});
return response()->json([
'status' => TRUE,
'products' => $all_products
],200);
}
Я называю этот API аксиосом вот так
axios.post('/get_product_list', {
category_id:2,
})
.then(function (response) {
self.products = response.data.products;
});
Проблема в том, что когда я не передаю category_id в API, я получаю массив, но когда я передаю его в API, я получаю объект вместо массива.
что не так с моим кодом?
Я не хочу преобразовывать полученный объект в массив в axios, я хочу, чтобы API дал мне массив.