关联关系详解
1. 一对一
/**
* 获取与用户关联的地址信息。
* 注:通过user表获取address信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联表外键
* 第三个参数:主表关联id
*/
return $this->hasOne('App\address', 'user_id', 'id');
/**
* 定义反向关联
* 注:通过address表获取user信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联表外键
* 第三个参数:主表关联id
*/
return $this->belongsTo('App\User', 'user_id', 'id');
2. 一对多
/**
* 获取与用户关联的地址信息。
* 注:通过user表获取address信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联表外键
* 第三个参数:主表关联id
*/
return $this->hasMany('App\address', 'user_id', 'id');
/**
* 定义反向关联
* 注:通过address表获取user信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联表外键
* 第三个参数:主表关联id
*/
return $this->belongsTo('App\User', 'user_id', 'id');
3. 多对多
/**
* 获取与用户关联的地址信息。
* 注:通过user表获取role信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联连接表的表名
* 第三个参数:此关联的模型在连接表里的外键名
* 第四个参数:另一个模型在连接表里的外键名
*/
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
/**
* 定义反向关联
* 注:通过role表获取user信息
*
* 第一个参数:关联模型的类名
* 第二个参数:关联连接表的表名
* 第三个参数:此关联的模型在连接表里的外键名
* 第四个参数:另一个模型在连接表里的外键名
*/
return $this->belongsToMany('App\User', 'role_user', 'user_id', 'role_id');
本作品采用《CC 协议》,转载必须注明作者和本文链接