Skeptic
Мидлваре предназначен для некоторых других вещей
Skeptic
если нужны конкретные реализации - это сервис провайдеры, но если без холи вара, то как удобнее
Maksim (Ellrion)
для каких? почему конфигурация не подподает под это?
Skeptic
https://laravel.com/docs/5.4/middleware#introduction
Maksim (Ellrion)
и?
Skeptic
Middleware provide a convenient mechanism for filtering HTTP requests entering your application.
Skeptic
фильтрация, не более
Skeptic
плюс авторизация или разрешение прав
Skeptic
вся логика приложения и инфраструктура - это другой слой логики приложения
Maksim (Ellrion)
фильтрация, не более
куки дешифровать может. авторизаию настраивать может. сессию стартовать может. выбирать к какой бд конектиться нет. логика где?
Valera
Привет Есть хелпер getMetaTitle($text), который получает, обрабатывает и возвращает строку Он в шаблоне app.blade.php Как ему в качестве аргумента можно передать @yield('title') ?
Skeptic
куки дешифровать может. авторизаию настраивать может. сессию стартовать может. выбирать к какой бд конектиться нет. логика где?
Безусловно может, в итоге все равно делается как удобнее и понятнее разработчику) но все, что описано тобой связано HTTP запросами, уровень взаимодействия с данными - это другой слой
Anton
Чуваки, тогда еще вопрос, а как has к has привзяать?
Anton
ну вот есть основная модель, у нее есть связть и у той есть связ
Anton
я чет подтупляю...
Anton
ну типа join же можно один, а потом второй
Anton
все связи belongsTo
Anton
ну то есть Model1 -> belongsTo -> Model2 -> belongsTo -> Model3
Skeptic
уровень вложенности, никто не мешает спуститься уровнем ниже Model1::query()->whereHas('relation1', function($query) { $query->whereHas('relation2', function() { }) })
Anton
ну то есть первый завернуть в whereHas() - чтобы упоминание второго в замыкании сделать
Anton
мутновато... щас попробую и посмотрю что там за SQL получится
Skeptic
т.е выбор конекта в зависимости от домена не связано с http запросом
Я понял о чем ты, ты имеешь ввиду выставление в миддл Config::set('database.default', 'subdomain_name') - это абсолютно норм
Skeptic
Я имел ввиду создание непосредственного объекта коннекшена и дальнейшая его передача в контроллер или в твой репозиторий через DI
Timofey
Можно ли как нибудь сеттерить файлы конфига , чтобы значения оставались в файле? Config::set() не меняет в самом файле конфига
Anton 🐻
Эм, а что в ларе (5.5) больше нельзя делать опции обязательными? $this->addOption('host', 'H', InputOption::VALUE_REQUIRED, ''); если пропускаю опцию, то он не ругается что она отсутствует =\ т.е. константа есть, а конктракт не выполняется.....
Anonymous
Всем привет. Подскажите пожалуйста. Хочу сделать несколько баз данных в приложении. Все сделал по статьям (которых в интернете множество), но столкнулся с такой проблемой https://s3.amazonaws.com/scrstorage/at1s3e281618y79692.png .env https://s3.amazonaws.com/scrstorage/d1328l828122312.png config/databases.php https://s3.amazonaws.com/scrstorage/mi13293068771ud0em0.png никак не могу понять в чем дело. если кто-то сталкивался, буду рад совету.
Arthur'); DROP TABLE Users;--
есть кнопочка G на скрине. видишь? нажми ее
Anonymous
есть кнопочка G на скрине. видишь? нажми ее
вау, не знал, спасибо, но я и без этой кнопочки гуглил уже, но всеравно спасибо.
Anonymous
В файле config/databases.php у тебя имя второго подключения - mysql2, а ты пытаешься зацепиться к users_docb.
я извиняюсь за глупый вопрос, но где именно я не правильно указываю имя подключения?
Andrey
я извиняюсь за глупый вопрос, но где именно я не правильно указываю имя подключения?
Ты как запросы к базе выполняешь? Через фасад DB или через Eloquent? В первом случае имя подключения указывается так: DB::connection('mysql2')->.... Во втором указывается внутри файла модели protected $connection = 'mysql2';
Andrey
Стоп. Тупанул.
Anonymous
Ты как запросы к базе выполняешь? Через фасад DB или через Eloquent? В первом случае имя подключения указывается так: DB::connection('mysql2')->.... Во втором указывается внутри файла модели protected $connection = 'mysql2';
через DB все я разобрался у меня https://s3.amazonaws.com/scrstorage/134220k32up829y90.png валидатор был через название базы.таблица, а нужно было так как на скрине
Andrey
У тебя база данных users_docb существует?
Andrey
через DB все я разобрался у меня https://s3.amazonaws.com/scrstorage/134220k32up829y90.png валидатор был через название базы.таблица, а нужно было так как на скрине
При работе с несколькими базами да, надо указывать имя подключения. Иначе все запросы идут в базу "по-умолчанию".
Anonymous
При работе с несколькими базами да, надо указывать имя подключения. Иначе все запросы идут в базу "по-умолчанию".
знал же что где-то просто мизерная ошибка, вчера весь день убил на это, спасибо Вам большое
Andrey
👍🏻
Anton
Вчера говорили про has и whereHas, я полез читать в глубь. Они формируют запросы с exists, который выполняется на каждую строчку найденного рекрдсета. И если у тебя лимитированная выборка - это ок, а если нет (ну счетчик какой считаешь), то лучше не использовать....
Anton
Тогда лучше старый добрый join и не забывать where deleted_at is null добавлять.
Anton
Но опять же - это личное оценочное суждение :). Каждый в праве его принимать или нет :)
Skeptic
Но опять же - это личное оценочное суждение :). Каждый в праве его принимать или нет :)
Да, для нагруженных запросов не очень Все чаще в последнее время использую доктрину
Anton
Там даже не нагруженный запрос, а когда без лимитов идет
Anton
Ну наверное тяжёлых :)
Skeptic
Тяжелых в плане fetch на уровне sql и в плане самого поиска)
Skeptic
а доктрина тут причем?
В плане контроля поведения запросов, работы со связями показалась гораздо эффективнее, но up to u)
Anton
Тяжелых в плане fetch на уровне sql и в плане самого поиска)
Не... Смотри тут фишка в том, что сначала выполняются все действия, а потом уже к каждому ряду выполняется этот запрос
Skeptic
Я понимаю в чем суть вложенных запросов, зависящих от внешнего query)
Anton
На каких нить агрегатных запросах я бы его не юзал, а на простых, да ещё и с лимитами - запросто. Простых в смысле не агрегатных, даже со сложными условиями
Anton
Я понимаю в чем суть вложенных запросов, зависящих от внешнего query)
Для меня немного сюрпризом стало что это после запроса внешнего происходить в отличии от обычного подзапроса, который первым выполняется.
Anton
Все так, просто я не работал до этого с exists
Anton
Пошел читать и удивился что подзапроса могут как до, таким после выполняться...
Anonymous
Ребят а можно ли\используете ли вы в laravel 5.5 LaravelCollective ? Не могу понять они сделали релиз для 5.5 или нет?
Dmitry
Ребят а можно ли\используете ли вы в laravel 5.5 LaravelCollective ? Не могу понять они сделали релиз для 5.5 или нет?
ну так ты поставь и попробуй. У меня формы оттуда, но они в составе другого пакета
Anonymous
ну так ты поставь и попробуй. У меня формы оттуда, но они в составе другого пакета
может кто-то использует, поставить я всегда успею, а вот разбираться с ошибками просто ставя пакеты как бы не очень хочется
Dmitry
😄 я смотрю ты очень осторожен
Anonymous
я юзаю laravel-form-builder, он юзает laravelcollective/html .Laravel 5.5 полет нормальный )
Спасибо большое за совет, попробую. Та просто переписываю заново приложение, и после набитых шишек с предыдущей версией осторожничаю)))
Alexey
Такой вопрос. Разрабатываю локально на не самом шустром компе, проект работает сносно (api отдает за 0.5-1.5с), заливаю на тестовый выделенный сервер, там проект отдает такой же api за 5с. Единственное отличие это локально - Mysql, на выделенном - Postgre. С чего начать разбирательство?
Дмитро
с explain
Alexey
с explain
можно точнее?
Дмитро
запрос тяжелый скорее всего
Alexey
запрос тяжелый скорее всего
Не думаю. Выборка из таблицы Model::select(), запись в сессию, запуск процедуры выборки данных из сессии и возврат сессии в виде json объекта.
Alexey
В базе записей меньше сотни наверно.
Дмитро
тогда профилируй реквест
Дмитро
будет видно
Alexey
будет видно
Не делал этого никогда. С чего начать?
Дмитро
https://xdebug.org/docs/profiler
Дмитро
открываешь штормом - там все понятно должно быть
Alexey
открываешь штормом - там все понятно должно быть
Спасибо. А как выяснять проблемы на удалённом сервере?
Дмитро
а там хдебаг стоит?
Alexey
Хороший вопрос. Скорее всего нет. Значит там нужен хдебаг и аналогично?