Selamlar,
Örnek olarak posts, post_categories, post_tags adında 3 tane tablom var bunların hepsini bir pivot tabloda topluyorum ve belongsToMany ile birbirine bağladım. Her post birden fazla kategori ve etikete sahip olabilir etiket ve kategorilerde birden fazla posta ait olabilir. buraya kadar sorun yok sonrasında ise şöyle bir durumla karşılaştım, mesela;
- satır: 1 idli post, 1 idli category, 1 idli tag
- satır 1 idli post, 1 idli category, 1 idli tag
Yani aynı posta aynı tagı aynı category'i tekrar tekrar tanımlayabiliyorum bu olmamalı, bunun usulü nedir acaba burada nasıl bir ilerleme yol haritası çizmek gerekir? Migration tarafında bir çözümü var mı yoksa javascript ve controllerda mı bitirmek gerekir bu sorunu?
Schema::create('post_category_post_tag', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('post_id');
$table->unsignedBigInteger('category_id')->default(1);
$table->unsignedBigInteger('tag_id')->nullable();
$table->timestamps();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
$table->foreign('category_id')->references('id')->on('post_categories')->onDelete('cascade');
$table->foreign('tag_id')->references('id')->on('post_tags')->onDelete('cascade');
});