php - 从 Laravel 的动态下拉列表中获取 ID 以在 CRUD 控制器中使用
问题描述
我正在使用 CRUD 控制器,试图创建一个人。一个人属于一个国家,我已经正确建立了这种关系。
在我的创建视图中,我有用于用户输入的文本框,以及通过查询 Country 表创建的动态下拉菜单。
我的错误是当我去创建一个人时,我收到一个错误 - 一般错误:1364 字段“country_id”没有默认值。
我知道这是因为我没有在 country_id 中插入任何内容,因为我根本不知道如何从 Country 动态下拉列表中获取 ID。
在我的 create.blade.php 我有:
{{csrf_field()}}
{{method_field('POST')}}
<div>
<input type="text" name="name" placeholder="Name"> <br>
<input type="text" name="age" placeholder="Age"> <br>
<input type="text" name="role" placeholder="Role"> <br>
<input type="text" name="batting" placeholder="Batting"> <br>
<input type="text" name="bowling" placeholder="Bowling"> <br>
<input type="text" name="odiRuns" placeholder="Odi Runs"> <br>
<input type="text" name="image" placeholder="Image name"> <br>
<label>Select a country:</label>
<select name="country" class="form-control" style="width:350px">
<option value="">--- Select Country ---</option>
@foreach ($countries as $country => $value)
<option value="{{ $country }}">{{ $value->name }}</option>
@endforeach
</select>
</div>
<button type="submit" class="button">Create a player</button>
</div>
</form>
在我的控制器中,我有 -
$players = new Player();
$players->name = request('name');
$players->age = request('age');
$players->role = request('role');
$players->batting = request('batting');
$players->bowling = request('bowling');
$players->odiRuns = request('odiRuns');
$players->image = request('image');
$players->country_id = request('???');
$players->save();
有谁知道我如何从动态下拉列表中获取 country_id 值?谢谢
解决方案
不应该是$players->country_id = request('country');
因为选择选项名称是国家
推荐阅读
- ip - 在笔记本电脑和 PC 上运行 nmap 时获取不同的 MAC 地址
- python - 将每日股票价格变成每周/每月/每季度/学期/每年?
- mysql - 当我在 where 子句中每行只有一个唯一变量时,如何返回多行?
- r - R,从向量中查找字符串,创建新的 TRUE/FALSE 列
- python - 如何在 CPU 上的 pyopencl 和 numpy 之间桥接数组?
- django - Django复选框不返回任何内容
- flutter - 带有 StickyHeader 的 Sliver 内的 TabBarView
- spring - Spring Boot 应用程序中每个端点 uri 的 HTTP 指标
- python-3.x - tf.keras.Model.fit 方法的 TensorFlow 问题
- java - 对象数组中的空指针异常