Как правильно передать из одной модели в другую Laravеl?

Сейчас есть 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);
    }


При этом при каждом запросе к модели будет проверятся домен, куча запросов.
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Действительно, зачем просто прописывать store_id в таблице категорий. Давайте под каждый виртуальный магазин наплодим десятки таблиц! Уххх, насколько же это будет отлично, когда в базе будет под 100 магазинов. Всего-то пару тысяч таблиц, расплюнуть. В этом легко будет разобраться!

А теперь без сарказма.
Срочно переделайте структуру вашей БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы