我有一个User
和一个Tag
模型。两者都是通过1:N关系链接的。
我正在尝试从tag_name
模型中提取col user
。但是我收到此错误:
试图获取试图获取非对象的属性'tag_name'。
用户模型具有
// linking with table tag
public function tags(){
return $this->hasMany('App\Tag');
}
标记模型具有
public function user(){
return $this->belongsTo('App\User', 'user_id');
}
我的观点有
{{ Form::checkbox('tag[]',$user->tag_id,['class'=>'cats']) }}
{{ Form::label('tb',$user->tag_id->tag_name,['class'=>'btn btncategory']) }}
控制器在索引函数中具有以下内容
$user = User::find($user_id);
return view('user.create_post')->with('user', $user );
路线:
Route::get('create', 'PostsController@index');
请在错误之处帮助我。
谢谢。
答案 0 :(得分:0)
问题是您的user
有多个tags
,您需要遍历其中的每一个:
在刀片文件中:
@foreach ($user->tags as $tag)
<label class="btn btncategory">
<input type="checkbox" name=tag[] value="{{$tag->id}}" class="cats" />
{{$tag->name}}
</label>
@endforeach
现在,当您提交此标签时,您应该在数组request()->input('tag')
中拥有所有选中的标签
请注意,我已经删除了Form::
,因为我喜欢将复选框放在标签内,但是如果需要,您可以使用Form::
样式,如下所示:
@foreach ($user->tags as $tag)
{{ Form::checkbox('tag[]',$tag->id,['class' => 'cats']) }}
{{ Form::label('tb',$tag->name,['class' => 'btn btncategory']) }}
@endforeach