yii2下的with使用方法

with关联查询

只关联一个表

->with('');
//或
->with(['']);

关联多个表

->with(['','']);

对关联表添加筛选条件,使用闭包函数

->with(['','' => function(ActivityQuery $query) {
	$query->where();
}]);

对关联表添加筛选条件,且使用了外部变量

$param = '';
->with(['' => function(ActivityQuery $query) use($param) {
	$query->where();
}]);

多级关联一:

->with(['goodsSku']);
//模型中
public function getGoodsSku()
{
	return $this->hasOne(GoodsSku::className(),['goods_sku_code' => 'goods_sku_code'])->with(['category','categoryItem']);
}

多级关联二:

->with(['goodsSku.category']);

多及关联三:

->with(['goodsSku' => function(ActivityQuery $query) {
	$query->with(['category']);
}]);

你可能感兴趣的:(yii2,php)