在model文件中,有时候需要关联别的表,也就是别的model文件,那么在其中就需要加入关联关系
举例,现有user表,与userInfo两张表,userInfo.user_id 关联 user.id,
那么,在user.php model文件中:
use App\Model\User\UserInfo;
public function userinfo()
{
// 第一个参数是关联表的模型文件,第二个参数是关联表关联字段,第三个参数是主表的主键
$this->hasOne(UserInfo::class(),user_id,id);
}
由上可知,hasOne方法,顾名思义,是主表关联从表的方法
还有一种belongsTo方法,是写在关联表中,关联主表的
use App\Model\User\User;
public function user()
{
// 第一个参数是主表的模型文件,第二个参数是关联表关联字段,第三个参数是主表的主键
$this->belongsTo(User::class(),user_id,id);
}
下面是调用:
在user查询的时候,查询出user_info,文件UserController.php
use App\Model\User\User;
public function index(User $user)
{
// 这里就是调用
$user->userinfo->username;
}
没有return