我已将我的应用程序从Laravel 4.2升级到5.2。控制器中的这一行获取了目录列表:
ClientAliveInterval
然后我将它压缩到刀片中,以在刀片中生成下拉菜单:
void*
在刀片中,我使用Form集合来生成下拉菜单,如下所示:
std::is_pointer
在Laravel 4.2中,$ directories是刀片中的数组。现在,在5.2中,它是一个Collection(对象),并且刀片抛出错误:Illuminate \ Support \ Collection类的对象无法转换为int。
如何在Controller中将其转换为数组?还是我需要重写刀片以生成不同的下拉列表?
答案 0 :(得分:1)
您需要使用->toArray()
方法:
$directories = DirectoryModel::lists('name', 'id')->toArray();
顺便说一句:
Collection,查询构建器和Eloquent查询构建器对象上的lists
方法已重命名为pluck
。方法签名保持不变。
因此,最好不要使用pluck
而不是lists
,因为它已被弃用:
$directories = DirectoryModel::pluck('name', 'id')->toArray();