Laravel 4 Eloquent ORM:虚拟表/视图 - 有可能吗?
Posted
技术标签:
【中文标题】Laravel 4 Eloquent ORM:虚拟表/视图 - 有可能吗?【英文标题】:Laravel 4 Eloquent ORM: virtual tables / views - is it possible? 【发布时间】:2013-01-17 07:57:47 【问题描述】:我有一个表事件,我在其中记录不同类型的事件,例如登录、注册等。这是基于type
列。
我想为每种事件类型提供不同的模型(或任何其他合适的解决方案),例如 EventLogin
。因此看起来我对每种事件类型都有不同的“表”,即使它们保存在同一个表中。
编辑:当然,我不想每次都想,即我想做EventLogin->where("user_id", "=", $user->id)
而不必担心记得做->where("type", "=", "login")
。
有可能吗?
【问题讨论】:
【参考方案1】:有可能吗?
是的。
只是有不同的模型文件。您需要设置表名,因为您的模型名称不会相同:
protected $table = 'your_table';
否则它将像普通表一样工作。
您可以将同样的原则应用于表单。与其为每个表设置一个模型,不如为每个表单设置一个模型 - 并将所有表单逻辑保存在一个位置。
【讨论】:
我想我的问题不够明显,我已经编辑了我的问题(参见编辑部分),因为这还不是解决方案。【参考方案2】:认为这会让你感兴趣:
http://vimeo.com/53183075(morphMany() / morphTo() 在 7'00 附近使用)
否则,@TheShiftExchange 是对的,我支持他。
【讨论】:
很遗憾您没有粘贴太多代码:),但就是这样,多态关系!我会用那个!以上是关于Laravel 4 Eloquent ORM:虚拟表/视图 - 有可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 1 个外键,2 个表 Eloquent ORM
在 Laravel 5.4 (Eloquent ORM) 中自动删除 NESTED 相关行