I am making my table like this...
Schema::create('matched_merchants', function (Blueprint $table)
{
$table->increments('id')->unsigned();
$table->integer('merchant_id')->unsigned();
$table->integer('offer_id')->unsigned();
$table->foreign('merchant_id')->references('id')->on('merchants')->onUpdate('cascade')->onDelete('restrict');
$table->foreign('offer_id')->references('id')->on('offers')->onUpdate('cascade')->onDelete('restrict');
});
Im adding 2 foreign keys both have onUpdate and onDelete constraints but only the update constraint gets added.
If i delete the onUpdate, it will correctly add the onDelete constraint.
I cannot add them separately because i get the error of duplicate key.
I could add them manually with a raw sql statement but if theres a right way to do it id rather do that.
For some reason, if you set the columns as nullable()
, Laravel sets the foreign keys correctly.
That said, I can see that causing other problems, so I recommend doing the raw SQL statement.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.