有一个称为“兴趣”的能力,它保存每个用户感兴趣的“类别”和/或“品牌”的 ID。为了防止创建两个单独的表user_category_interests
,user_brand_interest
我添加了一个名为type
.
现在我不知道应该如何在 Schema Builder 中创建迁移,如何设置关系和外键,......以利用 Eloquent 方法。
Schema::create('user_interests', function (Blueprint $table) {
$table->increments('id');
$table->enum('type', ['categories', 'brands']);
$table->integer('reference_id')->unsigned();
$table->timestamps();
});
有没有更好的方法来代替创建两个单独的表和模型?
PS我使用laravel 5.4
Brands Table:
id | name
-----------
1 | Adidas
2 | Nike
3 | Puma
Categories Table:
id | name
-----------
1 | Clothes
2 | Luxury
3 | Sport Wear
User_Interests Table:
id | user_id | type | reference_id
-----------------------------------------
1 | 113 | 'brand' | 2
1 | 113 | 'brand' | 3
2 | 113 |'category'| 3
3 | 224 | 'brand' | 1