希望在模型關聯里增加條件的支持

瀏覽:1321 發布日期: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();
}
}
評論(
后面還有條評論,點擊查看>>
彩票技术交流群 庆城县| 内江市| 喀什市| 宽甸| 遵义市| 延吉市| 兴业县| 家居| 秦安县| 安平县| 沽源县| 尼勒克县| 手游| 启东市| 新郑市| 怀柔区| 宣城市| 犍为县| 台安县| 区。| 武川县| 通许县| 常德市| 荥阳市| 郯城县| 永兴县| 思南县| 泊头市| 宿州市| 乌鲁木齐县| 石首市| 西宁市| 南溪县| 南召县| 松潘县| 白玉县| 宁城县| 龙陵县|