私は、外来キーとlaravelのスキーマビルダーに関して、むしろ単純で愚かな質問をしています(あるいは、外国キーがおそらくどのように機能するかについての誤解です)。Laravel 5.2のピボットテーブルのForeginキー制約
私は、次の3つのテーブルがあります。
青写真
- ID
- 名
- いくつかの他のフィールド
コレクション
-
を
- ID
- 説明
- いくつかの他のフィールド
BlueprintCollection
- ID
- は
- をblueprint_id Cに私がしたい
をcollection_id Blueprintのid
をBlueprintCollectionのblueprint_id
にリンクする外部キーを再発行し、Collectionでも同じ操作を行います。
は、それは私がしかし、私はそれがこのようになりたい、私はこの部分を行う必要はありません->onDelete('cascade
か->onUpdate('cascade');
で
$table->foreign('blueprint_id')->references('id')->on('blueprint_table');
次の手順を実行しなければならない私の理解です。
これはBlueprintCollectionテーブルで行う必要があります。
しかし、ブループリントでid
を参照しているblueprint_id
を含む行が削除されると、これを正しく理解するとブループリントテーブルのエントリが削除されます。
明らかに、それは接合テーブルなので、私はそれをやりたいとは思わない。 Blueprintのエントリが削除されている場合、BlueprintCollectionテーブルのエントリを削除します。
これを正しく理解していますか?