**一对多hasMany模式**
**1.hasMany模式,适合主表关联附表,实现一对多查询,具体设置方式如下:**
**hasMany('关联模型',\['外键','主键'\]);**
**return $this->hasMany('profile','user\_id','id');**
**关联模型(必须):模型名或者模型类名**
**外键:关联模型外键,默认的外键名规则是当前模型名加\_id**
**主键:当前模型主键,一般会自动获取也可以指定传入**
### ***2.实现的查询方案:***
**$user = UserModel:get(10);**
**return json($user->profile);**
### ***3.使用->profile()方法模式,可以进一步进行数据的筛选;***
return json($user->profile()->where('id','>',10)->select())
### \*\*\*4.使用has()方法,查询关联附表的主表内容,\*\*\*比如大于等于2条的主表记录,这个也相当于反向查询了,从附表推出主表数据
UserModel::has('profile','>=',2)->select()
### ***5.使用hasWhere()方法,查询关联附表筛选后的记录***
UserModel::hasWhere('profile',\['status'=>1\])->select();
### ***6.使用save()和saveAll()进行关联新增和批量关联新增,方法如下:***
$user = UserModel::get(10);
$user->profile()->save(\['hobby'=>'测试喜好','status'=>1\]);
批量新增
$user->profile()->saveAll(\[
\['hobby'=>'测试喜好','status'=>1\],
\['hobby'=>'测试数据','status'=>1\]
\])
### ***7.使用together()方法,可以删除主表内容时,将f附表关联的内容全部删除***
$user = UserModel::get(221,'profile');
$user->together('profile')->delete()
*****
*****
*****