国家列的Laravel下拉列表不起作用

时间:2019-02-28 09:51:38

标签: laravel

我想生成一列的下拉列表并保存在数据库中,这是我尝试过的操作,但是我遇到了错误。

查看:

<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的国家/地区列表。

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试在自身内部使用Blade的{{ }}回显语法,因此此行无效:

{{@$teacher->nation->nation== "{{@$teacher->nation->nation}}" ? 'selected' : ''}}

{{ }}回显语法中的任何内容都是原始PHP,因此您无需再次使用该语法-您可以像通常那样简单地比较字符串:

{{@$teacher->nation->nation== @$teacher->nation->nation ? 'selected' : ''}}

但是,您似乎正在尝试将此一个值与相同的值进行比较,因此它总是要返回true并因此显示选择的选项。您的问题似乎不完整。