Сейчас есть middleware
public function handle($request, Closure $next)
{
$storeId = Store::id();
if (empty($storeId)) {
abort(404);
}
return $next($request);
}
Модель store
static function id(){
$domain = $_SERVER['SERVER_NAME'];
if (!empty(Store::select('*')->where('domain', $domain)->first())) {
$store = Store::select(['id'])->where('domain', $domain)->first()->toArray();
return $store['id'];
} else {
return false;
}
}
Модель category
public function __construct(array $attributes = [])
{
$stoteId = Store::id();
$this->table = $stoteId . '_category';
parent::__construct($attributes);
}
При этом при каждом запросе к модели будет проверятся домен, куча запросов.