Jos*_*osh 10 php laravel laravel-4
我知道你可以将值发送到这样的select语句:
控制器:
$client = Client::lists('name', 'id');
return View::make('index', compact('client'));
Run Code Online (Sandbox Code Playgroud)
并在我的视图中填充这样:
视图:
{{ Form::select('client_id', $client, Input::old('client_id')) }}
Run Code Online (Sandbox Code Playgroud)
但是,如何仅填充group_id = 1的客户端中的记录.
我试过了:
$client = Client::lists('name', 'id')->where('group_id', 1)->get();
Run Code Online (Sandbox Code Playgroud)
和
$client = Client::lists('name', 'id')->where('group_id','=', 1)->get();
Run Code Online (Sandbox Code Playgroud)
但它似乎没有那样工作,并给我错误"调用成员函数where()在非对象上"
有关如何使其工作的任何想法?
Adr*_*nez 10
控制器:
$client = Client::where('group_id', 1)->pluck('name', 'id');
Run Code Online (Sandbox Code Playgroud)
视图:
{!! Form::select('client_id', $client, Input::old('client_id'), ['class'=> 'form-control']) !!}
Run Code Online (Sandbox Code Playgroud)
结果:
<select id="client_id" class="form-control" name="client_id">
<option value="1">John</option>
<option value="2">Karen</option>
</select>
Run Code Online (Sandbox Code Playgroud)
必须最后调用lists()
$client = Client::where('group_id','=', 1)->lists('name','id');
Run Code Online (Sandbox Code Playgroud)
我找到了一个对我有用的答案:
使用流利而不是雄辩,这看起来像这样:
$client = DB::table('clients')->where('group_id', 1)->lists('name');
return View::make('index', compact('client'));
Run Code Online (Sandbox Code Playgroud)
然后在您的视图中,只需在刀片表单标签中调用它,如下所示:
{{ Form::select('client_id', $client, Input::old('client_id')) }}
Run Code Online (Sandbox Code Playgroud)
@KyleK,谢谢你试图帮忙.
小智 6
这也会奏效
Client::where('group_id','=', 1)->lists('name');
Run Code Online (Sandbox Code Playgroud)