Laravel使用指向引用表

时间:2016-11-26 15:12:26

标签: database laravel controller foreign-keys one-to-one

关于如何正确引用外键表,我有一些简单的问题。所以有两个表,一个Transaction表和一个Transaction Source表。现在这两个表之间的关系是一对一的,它们现在只是交易源中使用的三个值,“供应商”,“赞助商”和“参与者”。我在Transaction表中有一个外键,我想在创建新记录时引用Transaction Source表来获取其中一个值。现在我的问题是如何在创建新模型对象时在控制器环境中执行此操作,我可以简单地将Transaction Source中的ID与Transaction表中的Foreign键相关联,还是有另一种方法可以实现我的要求

1 个答案:

答案 0 :(得分:0)

我认为交易来源有自动增量行

在事务表迁移中添加

$table->integer('transaction_source_id')->nullable()->index();
$table->foreign('transaction_source_id')->references('id')->on('transaction_sources');

请在迁移中使用相关的表名。

使用

是一种很好的做法
$table->integer('id', true);

而不是

$table->increments('id');

现在添加交易时只需使用交易来源ID。

参考 https://laravel.com/docs/5.2/migrations#foreign-key-constraints

希望有所帮助