我在这里真正的泡菜。我有一个网页,可以在表中显示人们的名字。在此表中有一个选择表格,我指出它们是否是"好面条"。在数据库中,良好的面条变量是布尔值。我将在下面放置我的代码。我的问题是,我无法让它更新我在好的面条选项中选择的内容,以使重新存在的兄弟的记录。
当我尝试打印出来并查看值是什么时,它可以正常工作。但是无论出于何种原因,它都不会更新记录。
我的控制器:
public function update(Request $request)
{
$brothers = Brother::all();
foreach ($brothers as $b){
$b->GoodNoodle = $request['goodNoodle'];
$b->save();
//Failed attempt #1
//if ($request['goodNoodle'] == "No"){
//$b->GoodNoodle = "0";
//$b->save();
//}
//else{
//$b->GoodNoodle = "1";
//$b->save();
//}
//Failed Attempt #2 ive also tried every variation of this
//if($b['goodNoodle'] != $request['goodNoodle']){
//$b->GoodNoodle = $request->goodNoodle;
//$b->save();
//}
}
}
我的blade.php:
<form method="Post" action="{{route('update_brother')}}">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<table class="table">
<tbody class="text-center">
<tr>
<th>Good Noodle</th>
<th>Brother Name</th>
<th>Brother Class</th>
<th>Zeta Number</th>
</tr>
@foreach($brothers as $b)
<tr>
<td>
<select class="form-control" id="exampleFormControlSelect1" name="goodNoodle">
<option value="1">Yes</option>
<option value="0"{{!$b["goodNoodle"]? "selected": ""}}>No</option>
</select>
</td>
<td>
{{$b->fName.' '.$b->lName}}
</td>
<td>
{{$b->zetaClass}}
</td>
<td>
<input type="hidden" name="zetaNum">{{$b->zetaNum}}
</td>
</tr>
@endforeach
</tbody>
</table>
<input class="btn btn-primary btn-block" type="submit" value="Submit">
</form>
这里有一些线索。如果我这样做:
$value = $request->GoodNoodle; //with $value being equal to 1
if $b['goodNoodle'] = $value{
$b->goodNoodle = "0"
}
然后,它将我的所有记录更改为0。但是如果我这样做
$value = $request->GoodNoodle; //with $value being equal to 1
if $b['goodNoodle'] = $value{
$b->goodNoodle = $value
}
它不会做任何事情。请帮忙。
您也可以使用三元运算符。
<select class="form-control" id="exampleFormControlSelect1" name="goodNoodle">
<option value="0" {{ $b->goodNoodle == '0' ? 'selected' : '' }}>No</option>
<option value="1" {{ $b->goodNoodle == '1' ? 'selected' : '' }}>Yes</option>
</select>
如果要比较DB的值,并从请求中进行此操作:
if ($b['goodNoodle'] == $request->goodNoodle)
而不是:
if($b['goodNoodle'] = $request->goodNoodle])
您应该更改以下选择框:
<select class="form-control" id="exampleFormControlSelect1" name="goodNoodle">
<option value="0" @if($b->goodNoodle == '0') selected @endif>No</option>
<option value="1" @if($b->goodNoodle == '1') selected @endif>Yes</option>
</select>