一直都是用join来处理关联数据的,但是总有人说关联模型好,然后就认真去看了下。
这是一个一对多的例子,
1.先定义一个函数,函数名随便,里面返回关联的模型
2.使用
$list = Goods::field('id,goods_name')->with(['GoodsSpec' => function($query){
$query->field('spec_id,goods_id,spec_name');
}])->select(48)->toArray();
用了with后会在查出来的数据中自动把关联的数据加上去,with里面的闭包函数可以理解成一个独立的mysql语句,主要作用是查询关联表的数据
注意:闭包里面的field需要有主键和外键,不然不显示GoodsSpec里面的信息
关联模型可以很方便的查出相关联的数据,而不需要join之后再foreach来拼接数据