【发布时间】:2016-02-09 21:14:33
【问题描述】:
我是 laravel 的新手。为什么我总是出错:
array_map(): 参数 #2 应该是一个数组?
而我在这个方法上分配参数数组?
这是我的示例代码:
$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应该是一个数组,首先将你的数据转换成一个数组。还要检查传递的变量是否为数组 -
如何在 laravel @Chetan Ameta 上检查类型数据
-
用基本的php,可以
var_dump变量来分析变量。我认为在你的情况下$products是一个对象 -
基本上你想要的结果是什么?你能在你的问题中解释更多吗?你想要什么输出?