2013-02-01 56 views
2

我有一個表事件,其中我記錄了不同類型的事件,例如,登錄,註冊等。這是基於type列。Laravel 4雄辯的ORM:虛擬表/視圖 - 有可能嗎?

我想爲每種事件類型有不同的型號(或任何其他合適的解決方案),如EventLogin。因此,即使它們保存在同一個表中,它看起來對於每個事件類型都有不同的「表格」。

編輯:當然,我不想每次都想想,即我願做EventLogin->where("user_id", "=", $user->id),而不必擔心不記得做->where("type", "=", "login")

可能嗎?

回答

5

認爲這是可以感興趣:

http://vimeo.com/53183075(morphMany()/ morphTo()附近7'00使用)

否則,@TheShiftExchange是正確的,我走到他。

+0

不幸的是你沒有粘貼太多的代碼:),但這是多態關係!我會用它! –

3

可能嗎?

是的。

只是有不同的模型文件。您需要設置表名稱,因爲您的型號名稱不會相同:

protected $table = 'your_table'; 

否則,它將作爲普通表工作。

您可以將此相同的原則應用於表單。而不是每個表都有一個模型,而是可以爲每個表單創建一個模型 - 並將所有表單邏輯保存在一個地方。

+0

我想我的問題不夠明顯,我編輯了我的問題(請參閱編輯部分),因爲這不是解決方案(尚未)。 –