【发布时间】:2018-01-20 23:37:49
【问题描述】:
我正在尝试使用 Laravel 播种器类播种 MySql 表。问题是它没有像我设置的那样分配id 字段(这是一个增量)值。在我得到的播种机类中:
public function run()
{
Patropi\Entidade::create([
'id' => '0',
'nome' => 'entidade 0',
'cpfcnpj' => '12345678901'
]);
Patropi\Fornecedor::create([
'id' => '0',
'prioridade' => '0'
]);
}
在数据库中,Fornecedor 表 id 是一个引用 Entidade id 的外键,这就是为什么我希望两者都具有相同的 Id。问题是,当它在Entidade 上插入时,它不会将其设置为 id = 0,而是给出最后一个增量 + 1 的值。如何强制 laravel 在那里插入 0?提前致谢。
【问题讨论】:
-
不清楚您需要什么,主键应该是“正数”,例如 1.. 如果您有 10 条记录,您将获得 1 - 10 的 id。您可以在播种前截断表以确保键从 1 点到 10 点。
-
我想给播种机定义ID值。在示例中,我将 ID 设置为 = 0,但是当它添加到表中时,它会增加而不是设置为零
-
我认为您在使用播种机时无法设置主键。为什么要设置它?如果您需要 FK 关系,请先播种主表并在另一个播种器中查询 id。
标签: php laravel laravel-5.4