Несколько моделей или БД для одного запроса? - PullRequest
2 голосов
/ 20 апреля 2020

У меня есть одно представление, которое получает данные от 6 моделей. Примерно так:

$newstypes = NewsTypes::where('is_active', '=', 1)->orderBy('sort')->get();
$businesstypes = BusinessTypes::where('is_active', '=', 1)->orderBy('sort')->get();
$economictypes = EconomicTypes::where('is_active', '=', 1)->orderBy('sort')->get();
$politictypes = PoliticTypes::where('is_active', '=', 1)->orderBy('sort')->get();
$societytypes = SocietyTypes::where('is_active', '=', 1)->orderBy('sort')->get();

$settings = Settings::where('language', '=', $lang)->first();

И между этими моделями нет никакой связи. У меня вопрос, должен ли я сохранить это так или есть гораздо лучший способ? Я имею в виду, может быть, получить все это только в одном соединении. Я получаю иногда Too many connections at Illuminate/Database/Connectors/Connector.php

1 Ответ

3 голосов
/ 20 апреля 2020

Основная проблема c заключается в том, что, как и в других проблемах, связанных с соединениями с базой данных, соединения не закрываются.

Вы можете включить постоянные соединения на сервере базы данных

        'mysql' => [
            //...
            'options' => [
                \PDO::ATTR_PERSISTENT => true
            ]
        ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...