Laravel 5 一对多关系表模型绑定
Laravel 5 One To Many Relation Form Model Binding
我是第一次使用 Laravel,我正在开发一个可以生成发票的应用程序。每张发票可以有多个位置。这意味着存在一对多关系。
创建新发票时,有第一个职位的输入,并且可以通过 ajax 添加更多职位的输入。
我使用一个数组作为位置并制作一个随机索引。
<?php $c = rand(); ?>
{!! Form::text('position['.$c.'][title]', null, ['class' => 'form-control']) !!}
{!! Form::textarea('position['.$c.'][description]', null, ['class' => 'form-control']) !!}
目前为止一切正常。
现在,当涉及到编辑发票时,问题就出现了。我需要做什么才能使表单模型绑定正常工作?
现在我检查我有多少个职位,并使用经常输入的职位输入加载代码段并传入数据。
@foreach( $document->positions as $position)
@include('documents._position', [$position])
@endforeach
但是这些值没有出现在输入字段中。我需要做什么才能让它正常工作?
第二件事是如何同步位置?我现在只是在编辑发票后删除现有的并制作新的。有更好的方法吗?
要将数据传递给子视图,您需要以这种格式进行
@include('view.name', ['some' => 'data'])
或者你的代码看起来是正确的
@foreach( $document->positions as $position)
@include('documents._position', ['position' => $position])
@endforeach
因此,您可以在子视图
中使用$position
{!! Form::text("position[$position->id][title]", $position->title, ['class' => 'form-control']) !!}
{!! Form::textarea("position[$position->id][description]", $position->description, ['class' => 'form-control']) !!}
来源:http://laravel.com/docs/5.0/templates#other-blade-control-structures
我是第一次使用 Laravel,我正在开发一个可以生成发票的应用程序。每张发票可以有多个位置。这意味着存在一对多关系。
创建新发票时,有第一个职位的输入,并且可以通过 ajax 添加更多职位的输入。 我使用一个数组作为位置并制作一个随机索引。
<?php $c = rand(); ?>
{!! Form::text('position['.$c.'][title]', null, ['class' => 'form-control']) !!}
{!! Form::textarea('position['.$c.'][description]', null, ['class' => 'form-control']) !!}
目前为止一切正常。
现在,当涉及到编辑发票时,问题就出现了。我需要做什么才能使表单模型绑定正常工作?
现在我检查我有多少个职位,并使用经常输入的职位输入加载代码段并传入数据。
@foreach( $document->positions as $position)
@include('documents._position', [$position])
@endforeach
但是这些值没有出现在输入字段中。我需要做什么才能让它正常工作?
第二件事是如何同步位置?我现在只是在编辑发票后删除现有的并制作新的。有更好的方法吗?
要将数据传递给子视图,您需要以这种格式进行
@include('view.name', ['some' => 'data'])
或者你的代码看起来是正确的
@foreach( $document->positions as $position)
@include('documents._position', ['position' => $position])
@endforeach
因此,您可以在子视图
中使用$position
{!! Form::text("position[$position->id][title]", $position->title, ['class' => 'form-control']) !!}
{!! Form::textarea("position[$position->id][description]", $position->description, ['class' => 'form-control']) !!}
来源:http://laravel.com/docs/5.0/templates#other-blade-control-structures