来自数据库的错误值 select 选项
wrong value select option from database
我正在使用 laravel 创建更新功能,我尝试传递要更新的值,但该值失败或错误。
这是我的 sql table
id | name | email | pic_for
1 Michael michael@mic.com null
2 John Doe john.doe@gmail.com 1
3 Kelme kelme@gmail.com 2
4 Munich x.munich@det.com 1
5 Phylon phy@phylon.com 2
为了显示值并更改它,我在控制器中使用了两条语句,用户为 selected 值
获取名称用户和图片
这是我的控制器进程
public function updateuser($id)
{
$users=DB::table('users')->where('id',$id)->get();
$pic=DB::table('users')->get();
//dd($id);
//dd($users);
//menampilkan data ke view index
return view('updateuser',['users'=>$users,'pic'=>$pic,'id'=>$id]);
}
这是我的 view.blade
@foreach($users as $user)
<div class="row">
<input name="_method" type="hidden" value="PUT">
<div class="col-md-12 pr-1">
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" placeholder="Full Name" value="{{ $user->name }}">
</div>
</div>
<div class="col-md-12 pr-1">
<div class="form-group">
<label>In Charge</label>
<select name="in_charge" id="in_charge" >
@foreach($pic as $pics)
@if($pics->pic_for != null)
<option value="{{ $pics->pic_for}}" selected>{{ $pics->name }}</option>
@else
<option value="{{ $pics->id}}">{{ $pics->name }}</option>
@endif
@endforeach
</select>
</div>
</div>
@endforeach
我要的是admin点data user的时候显示的和数据库一样
Name ; name
Pic : pic_for
并且管理员可以使用 select 选项值更改 pic 列,其中该值取自所有 id。
问题出在 selected 值中,当我单击或显示页面时,select 选项得到错误的值
What I Want
Name : John Doe (id 2)
Pic For : Michael (id 1) selected value
It has same value with database
For Now
Name : John Doe (id 2)
Pic For : Phylon (id 5) selected value
你知道错误代码在哪里吗?
谢谢
你试试这个:
return view('updateuser',compact(['users']);
更改此行并尝试
@if($pics->id == $user->pic_for)
<option value="{{ $pics->pic_for}}" selected>{{ $pics->name }}</option>
@else
您需要检查 pic_for 来自用户
我正在使用 laravel 创建更新功能,我尝试传递要更新的值,但该值失败或错误。
这是我的 sql table
id | name | email | pic_for
1 Michael michael@mic.com null
2 John Doe john.doe@gmail.com 1
3 Kelme kelme@gmail.com 2
4 Munich x.munich@det.com 1
5 Phylon phy@phylon.com 2
为了显示值并更改它,我在控制器中使用了两条语句,用户为 selected 值
获取名称用户和图片这是我的控制器进程
public function updateuser($id)
{
$users=DB::table('users')->where('id',$id)->get();
$pic=DB::table('users')->get();
//dd($id);
//dd($users);
//menampilkan data ke view index
return view('updateuser',['users'=>$users,'pic'=>$pic,'id'=>$id]);
}
这是我的 view.blade
@foreach($users as $user)
<div class="row">
<input name="_method" type="hidden" value="PUT">
<div class="col-md-12 pr-1">
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" placeholder="Full Name" value="{{ $user->name }}">
</div>
</div>
<div class="col-md-12 pr-1">
<div class="form-group">
<label>In Charge</label>
<select name="in_charge" id="in_charge" >
@foreach($pic as $pics)
@if($pics->pic_for != null)
<option value="{{ $pics->pic_for}}" selected>{{ $pics->name }}</option>
@else
<option value="{{ $pics->id}}">{{ $pics->name }}</option>
@endif
@endforeach
</select>
</div>
</div>
@endforeach
我要的是admin点data user的时候显示的和数据库一样
Name ; name
Pic : pic_for
并且管理员可以使用 select 选项值更改 pic 列,其中该值取自所有 id。
问题出在 selected 值中,当我单击或显示页面时,select 选项得到错误的值
What I Want
Name : John Doe (id 2)
Pic For : Michael (id 1) selected value
It has same value with database
For Now
Name : John Doe (id 2)
Pic For : Phylon (id 5) selected value
你知道错误代码在哪里吗?
谢谢
你试试这个:
return view('updateuser',compact(['users']);
更改此行并尝试
@if($pics->id == $user->pic_for)
<option value="{{ $pics->pic_for}}" selected>{{ $pics->name }}</option>
@else
您需要检查 pic_for 来自用户