yii2两表联查小细节

xiaoxiao2021-02-28  36

yii2如果使用leftJoin,rightJoin等方法两表联查时,不使用asArray()方法,默认是取不到关联表数据的,针对这种情况,我们需要

用yii2带的hasOne或者hasMany方法就可以得到关联表数据了,并且这两种方法,快捷,符合yii的设计概念

下面写出一个hasOne的SDK 注*hasOne针对一对一表关系的两张表,而hasMany针对多对多表关系的两张表*

 很简单,只需在主表的模型层写下下列方法

Area是你要关联表的表名area_id是要关联的字段

public function getArea() { return $this->hasMany(Area::className(), ['area_id' => 'area_id']); }

然后在控制器查询完之后,得到一个对象之后直接用结果集调用

$inquiry->area; 之后用toArray()将他转成数组就行

转载请注明原文地址: https://www.6miu.com/read-1950083.html

最新回复(0)