一对多关联
模型关联用于定义不同模型之间的关系,简化多表查询操作。
一对多关联语法说明
一对多关联的基本语法格式如下:
php
/**
* 关联描述
* @return \think\model\relation\[关联类型]
*/
public function [关联名称]()
{
return $this->[关联方法]('目标模型类名', '外键', '主键');
}例如:一对多关联
php
/**
* 关联商品规格列表
* @return \think\model\relation\HasMany
*/
public function skuList()
{
return $this->hasMany(GoodsSku::class, 'goods_id', 'goods_id');
}语法要点:
方法名即为关联名称,使用驼峰命名法
返回类型通常为
\think\model\relation\*系列类关联方法:
hasMany: 一对多关联(当前模型有多个关联模型)关联参数:
第一个参数(必须):关联的模型类名(完整命名空间)
第二个参数(可选):关联模型的外键。默认的外键规则是当前模型名(不含命名空间,下同)+_id
第三个参数(可选):当前模型的主键,默认会自动获取也可以指定传入
使用方式:
php
$info = $goods_sku_model->field($field)
->with([ 'skuList' => function ($query) {
$query->field('sku_id,sku_name, sku_image');
}
])如图: 
