【问题标题】:Regarding relationship of DB tables in Laravel关于 Laravel 中数据库表的关系
【发布时间】:2016-07-10 05:35:45
【问题描述】:

假设我们在表 A 和表 B 之间有多对一的关系。现在在 Laravel 中定义这种关系有两种可能性。

  1. 在创建迁移时,我使用“参考”关键字。并运行迁移

  2. 另一种方法是我在与这些表对应的模型类中使用 hasMany 和 belongsTo,并且在迁移表中不提及 References 和 all。

有人能帮我理解我应该遵循什么方法吗?或者我们需要在我们的代码库中同时使用这两种方法来创建关系。有人可以对此有所了解。我有点困惑。我是 Laravel 的新手,正在学习这些错综复杂的东西。谢谢。

【问题讨论】:

    标签: laravel laravel-5 laravel-5.1


    【解决方案1】:

    你应该同时使用这两种方法,

    • 对迁移本身使用引用会导致数据库表级别的数据完整性
    • 要真正探索 laravel 的强大功能,应该使用 Eloquent,这可以通过在模型之间建立 eloquent 关系来实现。

    参考: https://laravel.com/docs/5.2/eloquent-relationships

    !快乐编码!

    【讨论】:

      【解决方案2】:

      实际上,您应该同时使用 1 和 2 来使 Eloquent 关系正常工作。如果您使用原始查询,则只能使用 1,但 Laravel 的真正强大之处在于 Eloquent 模型关系。

      Eloquent 假设关系的外键基于 型号名称

      https://laravel.com/docs/5.1/eloquent-relationships#defining-relationships

      【讨论】:

        猜你喜欢
        • 2020-05-11
        • 2015-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-22
        • 2014-01-26
        相关资源
        最近更新 更多