【发布时间】:2014-12-06 20:03:03
【问题描述】:
我有一个与地址模型具有多态关系的帐户模型。这是设置为一对一的关系设置,如下所示:
帐号:
public function address()
{
return $this->morphOne('Address', 'hasAddress', 'add_hasaddress_type', 'add_hasaddress_id', 'act_id');
}
地址:
public function hasAddress()
{
return $this->morphTo('hasAddress', 'add_hasaddress_type', 'add_hasaddress_id');
}
在我编辑帐户的表单上,我也有地址字段。我可以通过以下方式简单地绑定我的帐户对象:
{{ Form::model($account, array('route' => array('accounts/edit', $account->act_id), 'method' => 'put')) }}
{{ Form::label('act_name', 'Account Name:') }}
{{ Form::text('act_name', Input::old('act_name')) }}
并且正确填写字段。但是,如何填充地址字段?根据我的研究,我需要做:
{{ Form::text('address.add_city', Input::old('address.add_city')) }}
访问关系的值,但这不起作用。
我也试过
{{ Form::text('address[add_city]', Input::old('address[add_city]')) }}
正如标题相似的 SO 所建议的那样。这两个我都试过了,有没有旧的输入。这只是不适用于多态关系还是我做错了什么?
另外,你如何在控制器中处理这些表单?
表单模型绑定文档中没有关于关系的任何内容,进行搜索主要会找到要求一对多绑定的人。
【问题讨论】: