【问题标题】:Laravel 4 Eloquent ORM: virtual tables / views - is it possible?Laravel 4 Eloquent ORM:虚拟表/视图 - 有可能吗?
【发布时间】:2013-01-17 07:57:47
【问题描述】:

我有一个表事件,我在其中记录不同类型的事件,例如登录、注册等。这是基于type 列。

我想为每种事件类型提供不同的模型(或任何其他合适的解决方案),例如 EventLogin。因此看起来我对每种事件类型都有不同的“表”,即使它们保存在同一个表中。

编辑:当然,我不想每次都想,即我想做EventLogin->where("user_id", "=", $user->id)而不必担心记得做->where("type", "=", "login")

有可能吗?

【问题讨论】:

    标签: orm laravel eloquent laravel-4


    【解决方案1】:

    有可能吗?

    是的。

    只是有不同的模型文件。您需要设置表名,因为您的模型名称不会相同:

    protected $table = 'your_table';
    

    否则它将像普通表一样工作。

    您可以将同样的原则应用于表单。与其为每个表设置一个模型,不如为每个表单设置一个模型 - 并将所有表单逻辑保存在一个位置。

    【讨论】:

    • 我想我的问题不够明显,我已经编辑了我的问题(参见编辑部分),因为这还不是解决方案。
    【解决方案2】:

    认为这会让你感兴趣:

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

    否则,@TheShiftExchange 是对的,我支持他。

    【讨论】:

    • 很遗憾您没有粘贴太多代码:),但就是这样,多态关系!我会用那个!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2016-03-16
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2016-07-01
    相关资源
    最近更新 更多