通过外键显示数据
Showing data through foreign keys
我正在尝试通过关系和外键获取一些数据,但遇到了麻烦。
我有一个用户可以评论的击球手,评论也可以由用户编辑,评论有自己的页面以及删除或编辑评论的选项。这就是我的问题所在,我试图显示击球手的国籍,但只能检索他的国籍 ID 而不是国家名称。
这是我的表格
击球手: ID, Name, bio, Nationality_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?
试试这个
public function show($id)
{
$comment = Comment::with('batsmen')->find($id);
return view('comments.show')->with('comment', $comment);
}
在您的 Batsman
模型 class 上创建另一个 relationship
方法作为 -
public function nationality(){
return $this->belongsTo('App\Nationality','Nationality_id');
}
然后在你看来-
<h4>{{$comment->batsmen->nationality->country_name}}</h4>
你需要添加bastman和国籍
的关系
class Comment extends Model
{
public function nationality(){
return $this->belongsTo('App\Nationality',Nationality_id,id);
}
}
那你就可以轻松搞定他的国家
<h4>{{$comment->batsmen->Nationality->country_name}}</h4>
我正在尝试通过关系和外键获取一些数据,但遇到了麻烦。
我有一个用户可以评论的击球手,评论也可以由用户编辑,评论有自己的页面以及删除或编辑评论的选项。这就是我的问题所在,我试图显示击球手的国籍,但只能检索他的国籍 ID 而不是国家名称。
这是我的表格
击球手: ID, Name, bio, Nationality_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?
试试这个
public function show($id)
{
$comment = Comment::with('batsmen')->find($id);
return view('comments.show')->with('comment', $comment);
}
在您的 Batsman
模型 class 上创建另一个 relationship
方法作为 -
public function nationality(){
return $this->belongsTo('App\Nationality','Nationality_id');
}
然后在你看来-
<h4>{{$comment->batsmen->nationality->country_name}}</h4>
你需要添加bastman和国籍
的关系class Comment extends Model
{
public function nationality(){
return $this->belongsTo('App\Nationality',Nationality_id,id);
}
}
那你就可以轻松搞定他的国家
<h4>{{$comment->batsmen->Nationality->country_name}}</h4>