我有2个用户角色。在数据库中,我有两个角色(model_profiles
和client_profiles
)的个人资料表。有没有办法动态设置相关的Profile模型?我已经尝试过:
//User model:
public function profile(){
return $this->role == 'model' ? $this->hasOne('App\Models\Model\Profile') : $this->hasOne('App\Models\Client\Profile');
}
但是在这种情况下,我不能使用诸如User::with('profile')->whereIn('id', [1,2,3])->get();
之类的口才方法,因为在加载用户模型之前,$this->role
是null
。
有什么方法可以使用基于用户角色的Profile模型,并且不会丢失任何雄辩的查询方法吗?