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

瀏覽: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();
}
}
評論(
后面還有條評論,點擊查看>>
江苏快三100计划 孟州市| 通辽市| 巴马| 微山县| 喜德县| 湘阴县| 碌曲县| 屏南县| 夏邑县| 林西县| 黄陵县| 沁阳市| 建德市| 蒙自县| 鹿邑县| 西青区| 汝州市| 上栗县| 浏阳市| 章丘市| 曲水县| 南江县| 鄯善县| 牡丹江市| 通州市| 衡阳县| 葵青区| 灵宝市| 石棉县| 镇江市| 新建县| 伊川县| 金昌市| 应城市| 饶河县| 海口市| 长汀县| 毕节市|