Laravel:我如何为这篇文章/类别场景建模?

时间:2016-08-11 10:42:30

标签: laravel eloquent constraints data-modeling

我有ArticlesCategories的方案,其中每篇文章只能通过CategoryGroup只有一个类别。

这意味着article可以有多个category但每个category_group只有一个唯一类别。或者,换句话说,该文章只能包含每个category_group中的一个类别。

我是否在关系层面对此场景进行建模?或者这是使用自定义验证的问题?

这似乎是一个hasOneThrough场景,但这不存在。那么解决方法是什么?

我在文章和类别之间尝试了many-to-many relationship但是如何在将类别附加到单篇文章时限制文章中的每种类别类型?

   Schema::create('articles', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->text('body');
        $table->string('slug');
        $table->timestamps();
    });

    Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->text('description');
        $table->string('slug');
        $table->string('handle');
        $table->integer('category_group_id')->index()->nullable();
        $table->timestamps();
    });

    Schema::create('article_category', function (Blueprint $table) {
        $table->integer('article_id')->unsigned();
        $table->integer('category_id')->unsigned();

        $table->primary(['article_id', 'category_id']);
        $table->timestamps();
    });

0 个答案:

没有答案