2014-09-03 29 views
0

目前,我这样做是为了通过用户的列表进入我的观点:在Laravel结合与用户::列表3个值4

$users = User::lists('name', 'id'); 
return View::make('admin.gifs.add')->with('user_list', $users); 

的看法是这样的:

{{ Form::select('owner-id', $user_list, NULL, array('class' => 'form-control')) }} 

这效果很好,并在选择字段中输出name,值为id。我想要做的是在选择区域内同时显示nameemail。这可能吗?

我尝试了一些像$users = User::lists('name', 'email', 'id');这没有工作,有没有办法将它们结合起来,让我的select的值是First Last [[email protected]]

回答

1

您可以在原始查询中将此项与CONCAT一起破解,但这不值得。

相反,自己构建列表:

$users = []; 

User::all()->each(function ($user) use (&$users) 
{ 
    $users[$user->id] = "{$user->name} [{$user->email}]"; 
}); 

return View::make('admin.gifs.add')->with('user_list', $users); 
1
$users = User::lists('name','email','id'); 

然后,您必须修改结果数组,使其包含两个值而不是三个值。

$correctList = []; 
foreach ($users as $u) { 
    $correctList[] = [$u->name . $u->email, $u->id]; 
} 

然后将新列表传递给视图,就完成了。

+0

你确定你可以通过一些列的名称型号::列表()哪个版本的Laravel的是它? – 2014-11-10 10:46:28