Laravel形式模型与关系的约束

时间:2014-05-03 18:11:01

标签: laravel laravel-4

是否可以将表单与具有关系的模型绑定?例如,我有一个Order模型,它具有一个具有Details模型的一对多。

可以节省大量时间
@foreach($order->details as $detail)
{{ Form::text('product_name', Input::old('product_name') ? Input::old('product_name') : detail->product_name)
@endforeach

2 个答案:

答案 0 :(得分:7)

对于one-to-one关系,可以使用以下内容:

Form::text('detail[product_name]')

在这种情况下,如果$order->detail->product_name模型的实例使用Order并使用相关模型{{from绑定Form::model($order),则会在给定文本框中填充Detail 1}}但one-to-many可能无法实现,因为只需要一个集合,你需要一个循环。

答案 1 :(得分:2)

完成@WereWolf的答案..

  • 创建product_name detail_names
  • 的数组
  • 输入类允许您通过点表示法访问嵌套数组,例如:orders.1.product_name
  • 不要忘记Input::old()Input::get()的第二个参数 是默认值,因此您可以指定DB值并避免条件测试..

Form::text('detail_names['.$detail->id.']', Input::old('detail_names.'.$detail->id, $detail->product_name))

在你的控制器中,类似的东西:

foreach(Input:get('detail_names') as $id => $product_name)
{
    //...
}

希望这可以帮助您节省一些时间。