Size: a a a

2020 October 13

П

Просто Дэнчик... in Laravel Pro
короче ну его, буду дальше  в yii свои костыли городить
источник

A

Andrey in Laravel Pro
Просто Дэнчик
короче ну его, буду дальше  в yii свои костыли городить
👍😁
источник

AB

Andrey Bogdanov in Laravel Pro
Просто Дэнчик
короче ну его, буду дальше  в yii свои костыли городить
удали лучше yii с компа вместе с проектом)
источник

YV

Yushkevich Vitaly in Laravel Pro
Так-с, вопрос на засыпку 🙂

Выяснилось (сейчас на чистовой установке проверю), что жадная или ленивая загрузка с пагинацией загружает все модели, а не только "текущей страницы".
источник

YV

Yushkevich Vitaly in Laravel Pro
simplePaginate или обычная - пофиг.
источник

YV

Yushkevich Vitaly in Laravel Pro
То есть в сценарии "есть тысяча записей и у каждой записи есть как минимум одна связанная" код
Post::with('my-relation')->paginate(10); вернет не 20 моделей, а примерно 1020
источник

YV

Yushkevich Vitaly in Laravel Pro
ну и будет убивать память. load() пагинатор не умеет.
источник

YV

Yushkevich Vitaly in Laravel Pro
Сходу есть идея через гидратор костыли делать. Но выглядит прямо костылями
источник

YV

Yushkevich Vitaly in Laravel Pro
Кто-то сталкивался / как решали?
источник

A

Andrey in Laravel Pro
Скрин бы, самих запросов
источник

YV

Yushkevich Vitaly in Laravel Pro
sql имеешь?
источник

A

Andrey in Laravel Pro
Ну ла
источник

YV

Yushkevich Vitaly in Laravel Pro
ага, мысль хорошая, сейчас проверю. Может быть и туда косяк закрался
источник

A

Andrey in Laravel Pro
Я же вижу в дебагере что подгружаются связи только для текущей пагинации
источник

И

Илья in Laravel Pro
Yushkevich Vitaly
То есть в сценарии "есть тысяча записей и у каждой записи есть как минимум одна связанная" код
Post::with('my-relation')->paginate(10); вернет не 20 моделей, а примерно 1020
вчера боролся с этой ерундой, выбирал меньшее зло и пришлось отказаться от жадной загрузки, т.к. 10-30 запросов быстрей, чем 500мб памяти.
источник

YV

Yushkevich Vitaly in Laravel Pro
тут косяк есть, но он на стыке с PK  судя по всему

Customer::with('dynamic')->limit(10)->offset(0)->get(); вот такое дает

dd(DB::getQueryLog());
array:2 [
 0 => array:3 [
   "query" => "select * from `customers`  limit 10 offset 0"
   "bindings" => array:1 [
     0 => 2
   ]
   "time" => 1.18
 ]
 1 => array:3 [
   "query" => "select * from `customers_dynamics` where `customers_dynamics`.`customer_uuid` in (1, 1, 1, 1, 1, 1, 1, 1, 1, 1)"
   "bindings" => []
   "time" => 480.32
 ]
]
источник

YV

Yushkevich Vitaly in Laravel Pro
но у кастомеров связь через UUID
источник

YV

Yushkevich Vitaly in Laravel Pro
и он их не может сопоставить, и поэтому творит фигню. Сейчас буду смотреть
источник

A

Aleksei in Laravel Pro
Всем привет, подскажите годные видеокурсы по ларавелу, на рутрекере в основном старые версии лары, хотелось бы посвежей что нибудь. Или можно по какой-нибудь 5.2 посмотреть и норм будет чтоб въехать, а дальше уже почитать различия?
источник

Д

Дмитрий in Laravel Pro
laracasts
источник