Добрый вечер. Перейду сразу к сути.
Есть проект, который предполагает создание поддоменов пользователями. Гости регистрируются как пользователи, после чего, пользователь может себе создать поддомен 3го уровня, http://
test.site.ru. На поддоменах должна быть возможность создавать категории и статьи на этом поддомене. Как правильно спроектировать структуру статей, категорий, чтобы была привязка к поддомену, тобишь на поддомене 
TEST... показывались только категории и статьи относящейся к этому поддомену. Я накидал примерную структуру, но не могу понять, где именно делать привязку к поддомену, толи в категориях, то ли в самих статьях... Подскажите, как будет правильнее?
Таблица категорий
spoilerSchema::create('categories', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('parent_id')->unsigned()->nullable()->default(null);
            $table->foreign('parent_id')->references('id')->on('categories')->onUpdate('cascade')->onDelete('set null');
            $table->integer('sort')->default(0);
            $table->string('name');
            $table->string('slug')->unique();
            $table->integer('visibility')->default(1);
            /*$table->integer('domain_id');
            $table->foreign('domain_id')->references('id')->on('domains')->onDelete('cascade');
            $table->unsignedInteger('domain_id')->index('domains_category_id_index');*/
            $table->string('type');
            $table->string('meta_description');
            $table->string('meta_keywords');
            $table->timestamps();
        });
 
Таблица статей
spoilerSchema::create('articles', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('category_id')->index('articles_category_id_index');
            $table->unsignedInteger('user_id')->index('articles_user_id_index');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
            $table->string('title');
            $table->string('slug')->unique()->index('articles_slug_index');
            $table->longText('content_source');
            $table->longText('content_rendered');
            $table->tinyInteger('visibility')->default(1);
            $table->text('meta_description');
            $table->text('meta_keywords');
            $table->timestamp('published_at');
            $table->timestamps();
        });