有一种关系取决于规则

问题描述 投票:-1回答:2

是否有任何方法可以使1个模型与两个不同模型之一有一个关系,依赖于rule_id

 if($this->rule_id==1)
     return $this->hasOne('App\model2');
 else
     return $this->hasOne('App\model3');

如果你有更好的方式或这个工作以某种方式只是提前感谢我

php laravel model relationship rules
2个回答
0
投票

您可以在模型中构建自定义函数,并使用参数进行检查

public function test($val){
    if($val==1)
       return $this->hasOne('App\model2');
    else
       return $this->hasOne('App\model3');
}

然后你可以在你的视图中调用该函数

$your object data sent from controller ->test(1);

0
投票

更好地宣布与两种模型的关系。迟早它会达到两个条件并与两个模型建立关系。为什么不首先申报两者?

© www.soinside.com 2019 - 2024. All rights reserved.