2016-11-08 111 views
1

控制器:如何从Laravel 5.3中的表数据填充下拉框?

public function create_form(){ 

    return view('propertys.create', array('user' => Auth::user()) ); 
} 

我敢肯定,我需要做出这些改变和紧凑的字段在视图中像这样:

public function create_form(){ 
    $users = User::pluck('name', 'id'); 
    return view('propertys.create', array('user' => Auth::user()), compact('id', 'users') ); 
} 

但是,我怎么填写表单的下拉字段:

视图:

... 
    <input type="number" name="user_id"> 
... 

我不ö如何以及没有任何我能找到的将在Lavavel 5中工作的例子。他们大多使用折旧的插件和代码。那么最简单的正确方法是什么?

回答

0

我结束了使用此:

控制器:

public function create_form(){ 
    $users = User::pluck('name', 'id'); 
    $Calle = Calle::all(); 
    $User = User::all(); 
    return view('propertys.create', array('user' => Auth::user()), compact('id', 'users'))->with('calle', $Calle)->with('user', $User); 
} 

我的形式结束了看起来像这样:

... 
    <select name="calle_id"> 
    @foreach($calle as $key => $value) 
      <option value="{{ $value->id }}">{{ $value->name }}</option> 
    @endforeach 
    </select> 
... 
    <select name="propietario_id"> 
     @foreach($user as $key => $value) 
      <option value="{{ $value->id }}">{{ $value->name }}</option> 
     @endforeach 
    </select> 
... 

到这一切的关键是要建立我的外键约束条件如下:

class Property extends Model 
{ 
    public function user(){ 
     return $this->belongsTo('App\User', 'propietario_id','id'); 
    } 
    public function calle(){ 
     return $this->belongsTo('App\Calle', 'calle_id','id'); 
    } 
} 
相关问题