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

时间:2016-11-08 00:16:40

标签: php laravel-5.2

控制器:

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')  );
}

但是如何在表单中填充Dropdown字段:

视图:

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

我无法弄清楚如何找到可以在Lavavel 5中使用的任何示例。它们主要使用折旧的插件和代码。那么最简单的方法是什么?

1 个答案:

答案 0 :(得分: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' );
    }
}