是否有Laravel具有透视表的id列(多对多的关系)(我使用5.1版本)的任何好处?向Laravel中的数据透视表添加id列的好处?
一个ID
$table->increments('id');
$table->integer('appointment_id')->unsigned();
$table->foreign('appointment_id')->references('id')->on('appointments')->onDelete('cascade');
$table->integer('client_id')->unsigned();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->timestamps();
没有ID
$table->integer('appointment_id')->unsigned();
$table->foreign('appointment_id')->references('id')->on('appointments')->onDelete('cascade');
$table->integer('client_id')->unsigned();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->timestamps();
是否'$对象 - >删除()'工作,如果你没有一个主键? (我觉得一个是'increments'自动创建的,但我的经验主要是Laravel 4 ...) –
是的,我的作品,它删除了一切,父行和关系,在我的枢轴表,但我使用级联删除。 – user3489502
这将是同在一个标准的数据透视表具有自动递增'id'列:它不会伤害有一个,但他们最终多余的,因为你是(最有可能)永远不会是直接查询数据透视表。例子'SELECT * FROM pivot_table WHERE id = 5;'除非你知道你特别想要那一行,否则没有意义。 –