我有一個用戶模型,每個用戶都有一個內部或外部類型。存儲在內部和外部用戶上的數據非常不同,因此存在單獨的UserInternal和UserExternal模型。Laravel有一個條件關係
我該如何定義這種關係? UserInternal和UserExternal表中有一個關鍵字'user_id',每個用戶在其中一個表中都有匹配的行。
當我檢索用戶數據時,它總是通過用戶模型,但是我想要擴展數據。
我該如何去做呢?我想這一點,但它並不總是工作(例如,如果我嘗試User::with('data') -> find(1)
它不會工作,因爲$這還沒有加入
在用戶模式:
public function data()
{
if($this -> type === 'internal')
{
return $this -> hasOne('UserInternal');
}
else
{
return $this -> hasOne('UserExternal');
}
}
是的 - 看起來這將是我要去的方式,只是想知道是否會有更先進的選擇! – 2014-10-07 08:10:17
@Ryu_hayabusa你指的是什麼方法?如果我沒有錯,只是關係方法必須是camelCase。 – chester 2014-10-16 10:48:41