平特肖公式网论坛|今晚平特肖开什么呢|

希望在模型关联里增加条件的支持

浏览:804 发布日期:2019/04/04
一张表通过某个条件,判断是关联A表还是B表,这个场景很常用

目前使用获取器也能解决类似关联,但是略显冗余

这是yii2的实现:
public function getCreator() {
if ($this->type) return $this->hasOne(\backend\models\Admin::className(), ['id' => 'creator_id']);
else return $this->hasOne(\backend\models\User::className(), ['id' => 'creator_id']);
}

这是tp51的实现:

public function getCreatorAttr($value,$data)
{
if ($data['type']){
return Admin::where('id',$data['user_id'])->field('id,fullname')->find();
}else{
return User::where('id',$data['user_id'])->field('id,fullname')->find();
}
}
评论(
后面还有条评论,点击查看>>
平特肖公式网论坛