关于Laravel中DB表的关系

时间:2016-03-23 03:51:53

标签: laravel laravel-5 laravel-5.1

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

  1. 创建迁移时我使用“引用”关键字。并运行迁移

  2. 另一种方法是我在与这些表对应的模型类中使用hasMany和belongsTo,并且没有在迁移表中提及引用和所有内容。

  3. 有人可以帮助我理解我应该遵循的方法。或者我们需要在代码库中同时使用这两种方法来创建关系。有人可以对它进行一些说明。我有点困惑。我是Laravel的新手并且学习这些错综复杂的东西。谢谢。

2 个答案:

答案 0 :(得分:2)

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

  

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

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

答案 1 :(得分:0)

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

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

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

!快乐的编码!