вы можете создать пользовательскую функцию в вашей модели, например, с параметром для ее проверки
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);