我想生成一列的下拉列表并保存在数据库中,这是我尝试过的操作,但是我遇到了错误。
查看:
<select name="nation_id" class="custom-select" >
<option selected value="">Choose...</option>
<option value="{{@$teacher->nation->id}}" {{@$teacher->nation->nation== "{{@$teacher->nation->nation}}" ? 'selected' : ''}} >{{@$teacher->nation->nation}}</option>
</select>
控制器:
$teacher->nation_id = $request->nation_id;
$saved = $teacher->save();
return back()->with('message','Record Successfully Updated!');
评论: 教师是主表,其列为national_id,国家是第二个表,其中包含针对每个ID的国家/地区列表。
答案 0 :(得分:1)
您似乎正在尝试在自身内部使用Blade的{{ }}
回显语法,因此此行无效:
{{@$teacher->nation->nation== "{{@$teacher->nation->nation}}" ? 'selected' : ''}}
{{ }}
回显语法中的任何内容都是原始PHP,因此您无需再次使用该语法-您可以像通常那样简单地比较字符串:
{{@$teacher->nation->nation== @$teacher->nation->nation ? 'selected' : ''}}
但是,您似乎正在尝试将此一个值与相同的值进行比较,因此它总是要返回true
并因此显示选择的选项。您的问题似乎不完整。