[英]Get data from 2 tables with a foreign key using Laravel model relationships
[英]Get user info from two tables using relationships in laravel
我有模型用户和用户数据。 我想从用户和用户数据中获取一些数据。 我的代码如下:
用户模型:
public function user_data()
{
return $this->hasMany('App\Models\UserData', 'user_id');
}
public function getUserById($id)
{
$user = User::findOrFail($id);
return $user;
}
UserData模型:
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
用户控制器
public function getUser($id)
{
//$user = $this->model->getUserById($id);
$user = User::with('user_data')->find(3);
dd($user->sex);
return view('user', compact('user'));
}
如何从两个表中获取数据? 当我转储我性时,我得到空,但我在数据库中。
您必须像这样在关系中添加本地密钥
public function user_data()
{
return $this->hasMany('App\Models\UserData', 'user_id','your local key');
}
$user = User::with('user_data')->where('id',$id)->first(); // Get the data like this
之后,您可以像这样检查它的内容
$user->user_data[0]->sex // Not $user->sex
如果不起作用,请尝试交换外键和本地键位置。
你也必须像这样取数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.