我试图通过关系和外键获取一些数据,但却陷入困境。
我有一个用户可以评论的Batsmen,评论也可以由用户编辑,评论有自己的页面以及删除或编辑评论的选项。这就是我的问题所在,我试图显示击球手的国籍,但只能找回他的国籍的ID而不是国家的名字。
这是我的表格
Batsmen :ID,姓名,生物,国籍_ID, 国籍:ID,country_name, 用户 ID,姓名, 评论:ID,评论,Batsmen_ID,User_ID
我的关系
评论:
public function batsmen(){
return $this->belongsTo('App\Batsmen');
}
public function author()
{
return $this->belongsTo('App\User','user_id');
}
控制器:
public function show($id)
{
$comment = Comment::find($id);
return view('comments.show')->with('comment', $comment);
}
查看:
<h4>{{$comment->batsmen->Nationality_id}}</h4>
那我怎样才能显示国家名称而不是nationality_ID?
答案 0 :(得分:0)
试试这个
public function show($id)
{
$comment = Comment::with('batsmen')->find($id);
return view('comments.show')->with('comment', $comment);
}
答案 1 :(得分:0)
在relationship
模型类上创建另一个Batsman
方法为 -
public function nationality(){
return $this->belongsTo('App\Nationality','Nationality_id');
}
然后在你看来 -
<h4>{{$comment->batsmen->nationality->country_name}}</h4>
答案 2 :(得分:0)
您需要添加bastman和国籍
之间的关系class Comment extends Model
{
public function nationality(){
return $this->belongsTo('App\Nationality',Nationality_id,id);
}
}
然后你可以很容易地得到他的国家
<h4>{{$comment->batsmen->Nationality->country_name}}</h4>