有一种关系取决于规则

Has one relationship depend on rules

有什么方法可以使 1 个模型与两个不同模型之一之间的关系取决于 rule_id,例如:

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

如果你有更好的方法或者这有什么用请注意我提前谢谢

最好声明与两个模型的关系。迟早它会同时满足这两个条件并与两个模型建立关系。为什么不首先声明两者?

您可以像这样在您的模型中构建一个自定义函数,并使用参数来检查它

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);