Andrey
https://gist.github.com/Ellrion/2edef2ebc29448a1f84a3d2af9beac2b
судя по коду он даже биндинги все заменит на значения
Maksim (Ellrion)
Да
Andrey
👌
Anton
Можете пояснить, зачем это нужно, я про WHERE IN и жадную загрузку?
Alexander
Так вот как это работает) Спасибо! А есть возможность запустить его в фоне чтобы работал? Через bat'ник стартовать каждую минуту?
Anton
Гугли n+1 problem
я немного про другое, есть JOIN, зачем это в какой-то WHERE IN пихать? Это будет намного медленней
Maksim (Ellrion)
я немного про другое, есть JOIN, зачем это в какой-то WHERE IN пихать? Это будет намного медленней
Ну во первых про "на много медленнее" это не правда. Во вторых архитектура с джоинами была бы сложнее. И в третьих так ты можешь иметь связанные таблицы физически в разных базах
Andrey
Так вот как это работает) Спасибо! А есть возможность запустить его в фоне чтобы работал? Через bat'ник стартовать каждую минуту?
добавляешь в планировщик на "Раз_в_минуту" команда ларавела и он сам решит когда твои задачи выполнять * * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Maksim (Ellrion)
Так вот как это работает) Спасибо! А есть возможность запустить его в фоне чтобы работал? Через bat'ник стартовать каждую минуту?
Погугли) или используй виртуальную машину (вагрант) или мб в твоём по для вебсервер и пыха(что ты там используешь?) уже добавили крон
Anton
Ну во первых про "на много медленнее" это не правда. Во вторых архитектура с джоинами была бы сложнее. И в третьих так ты можешь иметь связанные таблицы физически в разных базах
1) ну можно оптимизатор запустить и проверить на больших данных 2)все равно костыль это, есть вьюхи в БД, если уж архитектура сложнее получается. 3) тут хз, но уверен средствами БД это делается спасибо за ответы
Andrey
1) ну можно оптимизатор запустить и проверить на больших данных 2)все равно костыль это, есть вьюхи в БД, если уж архитектура сложнее получается. 3) тут хз, но уверен средствами БД это делается спасибо за ответы
я в большинстве случаев использую вьюхи и join, но когда надо быстро что-то забутстрапить, "чтобы к вечеру уже работало" и про огромные данные речи нет - вариант с отношениями и with - самый быстрый. Потом со временем узкие медленные места переделываются
Andrey
Так вот как это работает) Спасибо! А есть возможность запустить его в фоне чтобы работал? Через bat'ник стартовать каждую минуту?
"Планировщик задач" или "Scheduled Tasks" в виндоус это называется. Но если ты используешь open server - там есть
Maksim (Ellrion)
1) ну можно оптимизатор запустить и проверить на больших данных 2)все равно костыль это, есть вьюхи в БД, если уж архитектура сложнее получается. 3) тут хз, но уверен средствами БД это делается спасибо за ответы
На больших данных редко используют орм. Обычно пагинация всегда или чанки. Вьюхи вообще тут причем? Я говорил про архитектуру самой орм. Нет не делается.
Maksim (Ellrion)
вьюхи в БД
А я понял
Maksim (Ellrion)
Только они все ещё не причем к архитектуре орм
Maksim (Ellrion)
)
Andrey
+1 - тоже самое происходит, но пытаюсь отучиться от With()
Кстати, раз уж речь зашла, подскажи, если делаешь SQL View - делаешь для них отдельные модели в Laravel?
Andrey
какой вообще подход для работы с sql view
Maksim (Ellrion)
Кстати, раз уж речь зашла, подскажи, если делаешь SQL View - делаешь для них отдельные модели в Laravel?
Я из лагеря который считает использование вьюх, хранимок, триггеров и даже внешних ключей - размазываем бизнес логики и что это редко оправдано
Anton
какой вообще подход для работы с sql view
пообщался с одним опытым (для меня) человеком, решения правильное для него - читать только их вьюх, писать данные только через процедуры
Anton
т.е доступа напрямую к таблицам получается нет
Andrey
пообщался с одним опытым (для меня) человеком, решения правильное для него - читать только их вьюх, писать данные только через процедуры
ну вот у меня такое же общение было с ведущим разработчиком Диасофта (банковский софт) - они так же только через вьюхи и процедуры
Anton
мне немного это сдвинуло мое мышления, но пока я до конца все не осознал, нужно ли или нет и какого маштаба должен быть проект, если такой подход юзается
Maksim (Ellrion)
Andrey
А есть у нас какие то конференции типа лараконф, но в рф?
Ахмедов
Добрый вечер надеюсь на вашу помощь. Объясните как реализовать базу данных как в этом проекте http://www.slader.com/textbook/9780538497817-stewart-calculus-7th-edition/ Смысл там вот в чем есть книга в книге несколько глав в каждой главе несколько тем в каждой теме по несколько задач. Какие таблицы создать и сколько создать чтобы было легче вызывать foreach ом, ведь там меню 2вух уровней
Andrey
Добрый вечер надеюсь на вашу помощь. Объясните как реализовать базу данных как в этом проекте http://www.slader.com/textbook/9780538497817-stewart-calculus-7th-edition/ Смысл там вот в чем есть книга в книге несколько глав в каждой главе несколько тем в каждой теме по несколько задач. Какие таблицы создать и сколько создать чтобы было легче вызывать foreach ом, ведь там меню 2вух уровней
Если я правильно понял что ты хочешь, можно сделать сколь угодно глубокую вложенность на основе одной таблицы, добавив «parent_id». Допустим у вас есть таблица категорий: id, parent_id, name Категории с parent_id == null будут корневыми; остальные ссылаются на своих родителей через belongsTo и имеют hasMany предков.
Ахмедов
Если я правильно понял что ты хочешь, можно сделать сколь угодно глубокую вложенность на основе одной таблицы, добавив «parent_id». Допустим у вас есть таблица категорий: id, parent_id, name Категории с parent_id == null будут корневыми; остальные ссылаются на своих родителей через belongsTo и имеют hasMany предков.
вроде бы​ понел. А как надо будет сделать админку для нее? Вот админ нажал кнопку добавить пишет название книги а дальше как? он хочет 4главы и в каждую главу по 20задач можно ли сразу в одной странице это сделать или как создание категорий он идет в другую страницу создаёт категорию идет еще в другую страницу создает темы для категорий и потом идет созданию книги и выберает?
Диего
Js )
Andrey
Можно сделать как угодно
Andrey
Вопросы «как надо сделать админку» меня убивают; что движет вами люди? Почему вы выбрали эту профессию?
Mike
Ну делает ее человек первый раз, зачем так критично то? Наоборот хорошо что спрашивает как сделать )
Andrey
Помнится, году в 2003 впервые написал в блокноте текст <?php echo 'Hello World!'; ?>, но он так и не заработал, когда в браузере зашёл в папку с этим файлом. И долго не мог понять в чем причина, ведь, такой же индекс файл только с расширением html показывал содержимое в браузере... Также и здесь: у человека есть задача и он, пока что, не знает как её решить.
Konstantin N.
Larabeer был в декабре))
Bogdan
Загони обьект юзера в переменную и уже с этой переменной ты можешь сделать attach
Andrey
спасибо, Максим
А если надо вообще все запросы в логи скидывать, то вот отличный пакет: https://github.com/mnabialek/laravel-sql-logger Из всех настроек лишь в файл .env добавить несколько строк и все. Под себя подобрал следующие значения: SQL_LOG_QUERIES=true SQL_LOG_SLOW_QUERIES=false SQL_SLOW_QUERIES_MIN_EXEC_TIME=30 SQL_LOG_OVERRIDE=true SQL_LOG_DIRECTORY=logs/sql SQL_CONVERT_TIME_TO_SECONDS=false SQL_LOG_SEPARATE_ARTISAN=true И, в зависимости от того надо включить пакет или нет, меняю значение только первой строки.
Bogdan
Andrey
Помнится, году в 2003 впервые написал в блокноте текст <?php echo 'Hello World!'; ?>, но он так и не заработал, когда в браузере зашёл в папку с этим файлом. И долго не мог понять в чем причина, ведь, такой же индекс файл только с расширением html показывал содержимое в браузере... Также и здесь: у человека есть задача и он, пока что, не знает как её решить.
Все отлично, проблема только в том что люди идут сразу с такими общими вопросам за помощью. Это не про программирование. Хочешь быть программистом, учись работать с документацией, искать ответы на стэковеофлов/тостере, смотреть видеоуроки.
Andrey
Помнится, году в 2003 впервые написал в блокноте текст <?php echo 'Hello World!'; ?>, но он так и не заработал, когда в браузере зашёл в папку с этим файлом. И долго не мог понять в чем причина, ведь, такой же индекс файл только с расширением html показывал содержимое в браузере... Также и здесь: у человека есть задача и он, пока что, не знает как её решить.
Согласен. Есть еще одна интересная мысль. Сошлюсь на ненаучную теорию о интровертах и экстравертах. Из неё сдедует, что первые ищут ответы внутри и будут до последнего избегать контакта с людьми для получения информации, в пользу книг и интернета, а вторые снаружи — им банально проще спросить у кого-то, чем замыкаться и думать. Что лучше для программиста - спорный вопрос. Люди двух полюсов раздражают друг друга при контакте. И это просто надо принять, чтобы не "подгорать" каждый раз.
Andrey
Типичные представители интровертной стороны)
Andrey
Про нас троих) У меня стул с чатов про пхп не затухает
Andrey
Кто знает экстравертных программистов?
Andrey
Про нас троих) У меня стул с чатов про пхп не затухает
Я спросил не успев прочесть то сообщение про интровертов) И да, также порой подгорает)
Andrey
Кто знает экстравертных программистов?
Напротив меня верстальщица такая сейчас сидит :) Изучает яваскрипт и мучает реакт)
Andrey
Я спросил не успев прочесть то сообщение про интровертов) И да, также порой подгорает)
Принятие этого факта - путь к просветлению! Я бы на самом деле просто методологию обучения освоил какую-нибудь.
Andrey
Не отвечал на вопрос прямо, а отправлял в документацию и задавал наводящие вопросы.
Andrey
Как вариант.
Andrey
Нужно подталкивать неофитов к самостоятельному обучению. А не отталкивать их от сообщества гневными комментами в духе "ну вы и тупые вопросы задаёте"
Andrey
Думаю тут гендерный факт сыграл важную роль
Не скажу. У еще одну знакомую по пыху на Ларе подтягивал. Так интроверт как раз. Очень быстро нашли общий язык.
Andrey
Не отвечал на вопрос прямо, а отправлял в документацию и задавал наводящие вопросы.
Чувствую, что начинаю осваивать эту методологию после сотни тысяч вопросов джуна-верстальщицы)
Andrey
Нужно подталкивать неофитов к самостоятельному обучению. А не отталкивать их от сообщества гневными комментами в духе "ну вы и тупые вопросы задаёте"
Я сталкивался с вопросами, которые трудно гуглятся. Например «как сделать админку на php» в русском сегменте не выдавал ничего толкового. Приходилось читать английский или задавать более узкие вопросы. Отчасти обидно, что сейчас так до боли просто зайти в чат и спросить любой непонятный вопрос
Bogdan
А разве не лучше совмещать? Сначала загуглить, поискать, а если не нашёл то спросить... 🙃
Bogdan
А то напрягать людей все любят, а самому напрягать извилины не оч
Andrey
Я сталкивался с вопросами, которые трудно гуглятся. Например «как сделать админку на php» в русском сегменте не выдавал ничего толкового. Приходилось читать английский или задавать более узкие вопросы. Отчасти обидно, что сейчас так до боли просто зайти в чат и спросить любой непонятный вопрос
Потому, что вопрос не верный по определению. "Как" - это всегда следующий после вопроса "что". Т.е. начать нужно с определения что должно получится в итоге, а затем уже спрашивать как этого достичь.
Bogdan
Ага((
Andrey
Ну в 14 лет я таким мышлением не обладал
Для этого опытные товарищи в этом чате и нужны. Не отвечать на вопросы о том какие функции есть в фреймворке. А давать базовые методы поиска информации и ссылки на источники.
Andrey
Давайте запишем коллективный видос-инструкцию, как это сделать)
Andrey
Чтобы этого достичь надо определить "правила" чата. А затем выбрать грамотных модераторов. Но, в то же время, не переборщить и не отпугнуть.
Andrey
Прочитай весь ларакастс, потом приходи с вопросами))