我是laravel的新人...为什么我总是得到错误:
array_map():参数#2应该是一个数组?
虽然我在这个方法上分配参数数组?
这是我的示例代码:
app:layout_anchorGravity=""
注意: 1类有很多产品
这是来自查询的数组:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.example.myapp"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
>
<android.support.design.widget.AppBarLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/appBar"
>
<!-- Put your content that is supposed to be in the appbar here -->
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/your_drawable_resource_file"
app:borderWidth="0dp"
app:fabSize="normal"
app:layout_anchor="@id/appBar"
app:layout_anchorGravity="left|bottom|start"/>
</android.support.design.widget.CoordinatorLayout>
当我尝试下面的代码时:
$products = Category::find(1) -> products;
我得到如下错误:
[{
"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"
}]
答案 0 :(得分:4)
你应该写
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from setup import get_name, get_exe_name, build
MAIN_MODULE = 'main.py'
exec('from ' + get_name(MAIN_MODULE) + ' import __version__, __appname__')
build(__version__, __appname__, MAIN_MODULE, dest_base=get_exe_name(__file__))
因为$results = array_map(function ($prod) {
return $prod->name;
}, $products->toArray());
是集合而不是数组。
如果您只想获得产品名称列表,请使用$products
方法
lists
在较新版本的Laravel中,您应该使用$results = $products->lists('name')
而不是$products->all();
,因为在Eloquent集合的情况下,toArray
会尝试将模型转换为数组。 toArray
将按原样返回模型数组。