我想创建一个标签系统,但我有一个错误“调用成员函数 attach() on null”。我有一个 2 表 - 人和 persontags。关系如下所示:
//in person
public function tags(){
$this->belongsToMany('App\persontags');
}
//in persontags
public function person(){
$this->belongsToMany('App\person');
}
我也创建了表 person_persontags。在控制器中我想使用附加方法:
$person->tags()->attach($request->tags);
但我有这个错误。附言。我的观点是这样的:
<select class="js-example-responsive col-12" multiple="multiple" name="tags[]">
@foreach($tags as $tag)
<option value={{ $tag->id }}>{{ $tag->name }}</option>
@endforeach
</select>
我该如何解决我的问题?
@Edit $person var 不为空,因为我创建了一个新人:
$person = person::create([
'name' => $request->name,
//...
]);
$person->tags()->attach($request->tags);
@编辑2
dd($request->tags) 的结果
森栏
暮色呼如
弑天下