【发布时间】:2022-02-21 10:53:47
【问题描述】:
我在尝试创建与其父级关联的子模型时遇到问题。
我有 2 个模型:
- 机构(有很多地址)
- 地址(有 1 个机构)
当我点击一个机构并转到 show.blade.php 时,我有一个表单来为该机构创建一个地址,我无法从请求中获得将孩子与父母相关联的字段“instituion_id”。
这显示在请求中:
请求数据
从我调用以下路线的表格中:action="/institution/{{ $institution->id }}/addresses"
这是 AddressController 中的代码:
public function store(Request $request)
{
// dd($request->all());
Address::create($request->all());
return back();
}
当我测试它时,数据库正在询问 isntitution_id 列:
SQLSTATE[HY000]:一般错误:1364 字段 'institution_id' 没有 有一个默认值(SQL:插入
addresses(address_name,address_number,address_full_name,address_city,address_state,address_postal_code,address_country,updated_at,created_at) 值 (a, a, a, a, a, a, a, 2017-12-14 2017-12-14 14:06:47 14:06:47))
那么,如何从表单中传递“institution_id”字段以及如何在控制器中获取它并关联到子记录?
我阅读了很多帖子,但在所有帖子中,它们只是创建一个包含一个字段的子记录,但我想处理包含所有地址字段的完整请求。
问候
【问题讨论】:
-
您可以在 HTML 中的表单中使用“institution_id”隐藏字段,并将值设置为机构的值。希望您在访问此代码之前对谁可以创建地址进行访问控制
-
只要确保你的 show.blade.php 视图中有 $institution 对象即可。
-
谢谢@rypskar 我试过了,但它返回的字段为空
-
感谢@robbyrr 对象在表单中,因为我列出了机构,但我无法在隐藏字段中获取 ID 值