我是laravel的新手。为什么我总是会得到以下错误:
array_map():第二个参数应该是一个数组?
而我正在将参数数组分配给这个方法?
这是我的示例代码:
$products = Category::find(1)->products;
注意: 1个类别有多个产品。
这是从查询中获取的数组:
[{
"id": "1",
"name": "action figure",
"created_at": "2015-11-09 05:51:25",
"updated_at": "2015-11-09 05:51:25"
}, {
"id": "2",
"name": "manga",
"created_at": "2015-11-09 05:51:25",
"updated_at": "2015-11-09 05:51:25"
}]
当我尝试以下代码时:
$results = array_map( function($prod) {
return $prod.name;
}, $products);
我遇到了如下错误:
"array_map(): 参数 #2 应该是一个数组"
$products
应该是一个数组,首先将您的数据转换为数组。同时检查传递的变量是否为数组。 - Chetan Ametavar_dump
函数来分析变量。我认为在您的情况下,$products
是一个对象。 - Chetan Ameta