我有两个模型:Category
和CategoryValue
。
在我的Category
模型中,我有:
public function values()
{
return $this->hasMany('App\CategoryValue');
}
我的CategoryValue
内有:
function category()
{
return $this->belongsTo('App\Category');
}
在我的编辑视图中,我的表单模型绑定如下:
{!! Form::model($category, ['route' => ['category.update', $category->slug], 'method' => 'PATCH']) !!}
@include('partials.categoryForm')
{!! Form::close() !!}
$category
是选定的Category
模型。
categoryForm部分看起来像:
<div class="form-group {{ $errors->has('name') ? 'has-error' : '' }}">
{!! Form::label('name', 'Name') !!}
{!! Form::text('name', null, ['class' => 'form-control']) !!}
{!! $errors->first('name', '<span class="help-block">:message</span>') !!}
</div>
<div class="form-group {{ $errors->has('slug') ? 'has-error' : '' }}">
{!! Form::label('slug', 'Slug') !!}
{!! Form::text('slug', null, ['class' => 'form-control']) !!}
{!! $errors->first('slug', '<span class="help-block">:message</span>') !!}
</div>
<div class="form-group">
{!! Form::submit('Save Page', ['class' => 'btn btn-primary']) !!}
</div>
这一切都有效,但在编辑类别时,我希望能够编辑(添加/删除)关联CategoryValue
。首先,我希望从$category->values
返回的项目位于textarea
内,每个CategoryValue
位于新行上。
我可以想到几种方法:使用@foreach
生成textarea
或流行变量并在绑定中使用它。我不确定这些中的哪一个(如果有的话)是“Laravel”的方式。我也不确定是否可以使用其中任何一个来正确更新数据库中的记录。该怎么做?