用ID和Name填充Laravel 5.2选择框,不使用Form: Select () facade


Populate Laravel 5.2 Select box with ID and Name wihout using Form:select() facade

我知道在stackoverflow上已经有一个关于填充选择框的问题,但是有使用form给出的答案:select() facade

我想填充选择框,但不使用表单外观。我这样做了,它为我工作

在控制器

public function create()
{
    $states=General_states::all('state_name','state_id');
    return view('admin.addcity',compact('states'));
}

 <select class="form-control" name="movie_language">
        @foreach($states as $data)
        <option value="{{ $data->state_id }}">{{ $data->state_name }} </option>
        @endforeach
</select>

但是我想在这里像这样使用::列表

在控制器

public function create()
{
    $states=General_states::lists('state_name','state_id');
    return view('admin.addcity',compact('states'));
}

但在视图中,我得到错误信息,试图获得非对象的属性。帮助我,这样我就可以在控制器中使用列表,并在视图中填充选择框,而不用使用{{form::select()}}

如果您不需要过滤,这里有一个简单的方法。假设您的General_states命名空间是App'

{!! Form::select('movie_language', App'General_states::lists('state_name','state_id'),'', ['class'=>'form-control']) !!}

或者如果你想要另一种方式,只需发送给我转储后,改变你的代码,像这样执行。

public function create()
{
    $states=General_states::lists('state_name','state_id');
    dd($states);
    return view('admin.addcity',compact('states'));
}