Laravel Query - 从数组中提取值

时间:2014-05-05 20:02:26

标签: php arrays laravel

这让我疯了......

我在我看来我在打电话

Auth::user()->userlists

它带回了一系列值,如

{"id":"1","user_id":"1","name":"list1".....}

我想要做的就是把我尝试过的所有这些名字带回来;

Auth::user()->userlists->name
Auth::user()->userlists()->name
Auth::user()->userlists->name->get()
Auth::user()->userlists.name

但我总是得到一个错误,例如“Undefined property”

如何返回这个单一属性,它在我的数组中用于所有项目,但我显然只是语法错误...?

我试图这样做的原因是我需要放置在下拉框中的值,它在表中找到正确的行但显示所有数据而不仅仅是名称

Form::select('userlist_id', Auth::user()->userlists);

非常感谢。

1 个答案:

答案 0 :(得分:1)

你说User有很多Userlist型号,所以它不是单一型号的集合,因此你可以在循环中使用它,但有更好的方法:

$lists = Auth::user()->userlists()->lists('name','id');

// To make it available in all the views, place this for example in a controller:
View::share('userlists', $lists);

这将为相关模型集合提取idname并将其作为数组返回,因此它只是您将在“表单”构建器中使用的那个:

Form::select('userlist_id', $lists)