如何使用其他表中的数据库创建输入类型选择列表 - Laravel 5.4

时间:2017-05-26 10:26:16

标签: laravel laravel-5 laravel-5.4

我想创建一个输入表单,在那个表单中我有输入类型="选择"我需要从我的数据库中的其他表中选择一个字段 我不知道该怎么做。谁能帮我?

我已经尝试过静态数据(不是来自数据库),结果是一个数字。在示例中,我创建一个列表来选择:管理员和用户。但是当我选择Admin时,保存到数据库的结果为0,如果我选择User,结果为1。

但如果我使用静态数据,现在我需要从dinamyc数据中选择它(来自数据库)。

谢谢你们。

编辑:

对不起,如果你们对我的问题感到困惑,我想问两个问题: 1.我想制作这种选择列表:http://prntscr.com/fcm4my

但是我希望列表来自我数据库中表格中的一个字段。 简短的故事是我为一个项目包创建了一个表,现在我想为数据包的价格创建输入表单。所以我需要将数据包的名称称为价格形式。

  1. 我的代码是我的另一种形式:
  2. {{Form::select("level",['ADMIN','USER'],null,['class'=>'form-control','required'])}} 但是为什么我的数据库中的结果为0和1,如下图所示:http://prntscr.com/fcm5jl

    由于

3 个答案:

答案 0 :(得分:2)

我在Laravel中为选择框准备数据的首选方法是QueryBuilder的{​​{1}}方法。如果传递一个参数,则返回元素集合,每个元素都是数据库记录的属性;如果你传递两个,第二个参数将是关键。

在您的情况下,您可以在控制器中执行以下操作:

lists()

然后在您看来,如果您使用的是laravelcollective/html

$users = User::lists('name', 'name')->all(); 

return view()->with(compact('users'));

如果有疑问,请打开浏览器的Dev Tools(甚至源代码),并检查{!! Form::select('user', $users, null, ['class' => 'form-control']) !!} 元素的<select>节点中插入的内容,尤其是<option>属性。< / p>

答案 1 :(得分:1)

首先使用正确的密钥和值从DB获取用户:

     $users= App\User::pluck('name','name');

然后将其传递给视图,并在视图中

     {!! Form::select('user',$users,$user->id?:null) !!}

答案 2 :(得分:0)

首先,通过这样做

,首先从用户表中获取所有记录
$user = User::all();
return view('view.name')->with('users',$user);

然后在您的视图中编写此代码选择

<select>
    @foreach($user as $users)
        <option value="{{ $user->id }}">{{ $user->name }}</option>
    @endforeach
</select>