我想创建一个输入表单,在那个表单中我有输入类型="选择"我需要从我的数据库中的其他表中选择一个字段 我不知道该怎么做。谁能帮我?
我已经尝试过静态数据(不是来自数据库),结果是一个数字。在示例中,我创建一个列表来选择:管理员和用户。但是当我选择Admin时,保存到数据库的结果为0,如果我选择User,结果为1。
但如果我使用静态数据,现在我需要从dinamyc数据中选择它(来自数据库)。
谢谢你们。
编辑:
对不起,如果你们对我的问题感到困惑,我想问两个问题: 1.我想制作这种选择列表:http://prntscr.com/fcm4my
但是我希望列表来自我数据库中表格中的一个字段。 简短的故事是我为一个项目包创建了一个表,现在我想为数据包的价格创建输入表单。所以我需要将数据包的名称称为价格形式。
{{Form::select("level",['ADMIN','USER'],null,['class'=>'form-control','required'])}}
但是为什么我的数据库中的结果为0和1,如下图所示:http://prntscr.com/fcm5jl
由于
答案 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>