Size: a a a

2021 April 08

Р

Ростислав in OctoberCMS
мне бы dd($product->preview_image) сделать для начала. Я так сходу не напишу, нужно дампить по одной строчке )
источник

v

vladimir in OctoberCMS
$file = new File;
Product::chunk(200, function($productList) use($file) {
   $productList->each(function($product)
use($file) {
       
$product->preview_image = (clone $file)->fromFile(storage_path($file_path));
   });
});
источник

RG

Roman Gerasimov in OctoberCMS
Ну тк тогда возьми у ВованаОбиВана пример выше и будет тебе счастье)
источник

v

vladimir in OctoberCMS
Product::chunk(200, function($productList) {
   $productList->each(function($product) {
       
dd($product->getKey(), $product->preview_image);
   });
});
источник

Р

Ростислав in OctoberCMS
а вот тут получается при dd выполнение остановится на первом товаре?
источник

v

vladimir in OctoberCMS
yes, но должно вывести null хотябы если файла нет)
источник

Р

Ростислав in OctoberCMS
я просто на живом сайте делаю 😁
источник

RG

Roman Gerasimov in OctoberCMS
да вы рискованный молодой человек)
источник

v

vladimir in OctoberCMS
можно кстати еще оптимизировать) если тебе нужно только прикрепить файлы на основе external_id, то:

Product::select(['id', 'external_id'])->chunk(200, function($productList) {
   $productList->each(function($product) {
       dd($product->getKey(), $product->preview_image);
   });
});
источник

v

vladimir in OctoberCMS
Бекапь на всякий )
источник

Р

Ростислав in OctoberCMS
да, так выводит дамп в терминале
источник

v

vladimir in OctoberCMS
ес-на, он видит 6 тыс из базы, сразу охреневает и решает завершить работу )
А по чанкам нормально выходит )
источник

Р

Ростислав in OctoberCMS
а что за (clone $file) ? Там attachOne и мне походу нужно заменять картинку если ее изменили
источник

v

vladimir in OctoberCMS
Можно без него типо (new File). ПРивычка дурацкая у меня, php инциализация объекта не дешевая, поэтому в импортах прибегают к клонированию объектов с состоянием, вместо повторной инициализации.
Таким образом модель File у тебя инициализируется лишь раз, а clone клонирует состояние уже инициализированной File модели создавая клон объекта.
источник

Р

Ростислав in OctoberCMS
+ буду пробовать
источник

RG

Roman Gerasimov in OctoberCMS
Нормальная привычка, даёт прирост в операциях над одной и той же выборкой
источник

A

Axenia in OctoberCMS
boarworm (1087.1) увеличил карму LeMaX10 (3699.85)
источник

v

vladimir in OctoberCMS
По хорошему тебе нужно учесть еще:
1. Если файл уже есть
1.1. Его размер и название сходится с тем который ты хочешь загрузить - пропускаем
1.2. Его размер и название не сходится с тем который ты хочешь загрузить - запоминаем путь к файлу, обновляем файл загруженным, где-то в конце пачки импорта вызываем unlink (удаление) на удаление пачки файлов которые уже не нужны.

А то забьешь картинками проект )
источник

v

vladimir in OctoberCMS
у нас один такой приехал проект, размер storage - 20 гигов, после чистки и оставления только актуальных картинок - было удалено 18 гигов )
источник

Р

Ростислав in OctoberCMS
сейчас как раз пытаюсь это сделать)
источник