The Ant
массив файлов также делаешь через форычь, но открываешь через эту штуку
The Ant
//со всех файлов получаем единный массив со всеми нужными нам данными
$dataMas = [];
foreach($params['files'] as $csv) {
if (!is_file($csv)) {
continue;
}
$file = new SplFileObject($csv);
The Ant
как-то так
Артур
The Ant
60-я строчка. не обязательно грузить модель, чтоб проверить есть ли она в базе. можно чота типа:
$inWarehouse = WarehouseProduct::find()->where(['product_id' => $product->id, 'warehouse_id' => 1])->exists();
The Ant
но это мелочи. основной косяк с файлами в массиве
Артур
Артур
Creating default object from empty value
Артур
на вот эту строку
Артур
$house_product->in_warehouse = (float)$dat['quantity'];
Артур
хотя количество есть
Артур
и столбик тоже в базе есть
Артур
пришлось поставить условие, что бы заработало(
Артур
Артур
с теме же параметрами ?
The Ant
понял. не доглядел значит
The Ant
Максим
так а что ты хотел увидеть ?)))
ну более конкретный вопрос, а не полотно с сотней строк кода и вопросом "пацаны, памяти не хватает, че делать")
The Ant
ни к чему грузить все сразу в память
The Ant
Максим
CSV файлы можно и построчно парсить. первую строку как заголовки таблицы спарсил, а потом по 50-100 строк фигачишь и подчищаешь хвосты, и памяти будет хватать даже на гигабайтные файлы
The Ant
Артур
Артур
ведь в браузере 30 сек
Артур
вроде только
The Ant
будет
The Ant
если и вправду долго работает
The Ant
но это не зависит от того все файлы ты грузишь в файл или построчно читаешь
The Ant
может генератор заюзаешь?
с генератором ты получишь ровно тоже самое что и http://php.net/manual/ru/splfileobject.fgetcsv.php
The Ant
тока больше кода )
Niko
The Ant
я пробовал. одно и тоже
The Ant
и по времени сопоставимо
The Ant
не забудь тока локнуть файл на запись перед обработкой )
Oligarch
если кто вакансии найдет на юии2 москва или удаленно - кидайте
Evgeny
https://t.me/yiijobs
Maks
Ребят привет, а по вопросу vps может кто подсказать, переодически ловлю: MySQL server has gone away;
Maks
Хотя предпосылок по идеи к этому быть не должно
Максим
логи сервера надо читать однозначно
SiZE
SiZE
first
Ребзя, всем привет.
Может кто подсказать, как накатить миграции на изменение тип столбца.
$this->alterColumn('table','column',$this->string());
Сейчас в третьем аргументе стоит varchar тип, как изменить на longtext?
Заранее благодарю
SiZE
Руслан
first
затупил :D
благодарю
who are you
Руслан
ну дык и json раньше не было)
Anton
всем привет.
кто-нибудь делал wizard form? как их грамотно сделать?)
к примеру, форма "выберите, страну", жмакаем "далее", выводится другая форма "выберите город", причем список городов зависит от страны и т.д.
mrG1K
dependency dropdown есть такие.. если хочешь на одной странице
Anton
знаю, не подходит
Anton
про страну и город - это я на ходу придумал, чтобы суть понятна была)
Максим
знаю, не подходит
почему не подходит? Разве этот плагин не делает то, что надо?
SiZE
SiZE
ну и желательно через сервисный слой это все залепить
Anton
SiZE
Anton
не) это понятно)) я к тому, что тупо link на следующий action?)
SiZE
SiZE
в котором на соновании полученных данных ты будешь выводить следующую форму или возвращать ошибку
Anton
public fucntion actionIndex()
{
$model = new Model();
if ($model-load(Yii::$app->request->post()) {
switch ($model->step) {
case 1:
return $this->stepOne($model);
case 2:
return $this->stepTwo($model);
}
}
}
Anton
к примеру
Anton
правильно понял твою мысль?
Артур
Class 'app\modules\data\controllers\SplFileObject' not found
Артур
на чистом пхп норм работает(
Артур
SplFileObject
Максим
обратный слеш перед классом поставь
Артур
понял)
Vladislav
Всем привет. Не подскажите как в GridView ActionColumn добаить ещё один экшен?
The Ant
на стековерфлоу дохуя примеров
The Ant
потрудись поискать плс
Максим
Максим
Vladislav
@kohone благодарю
Vladislav
@AlDexor не благодарю =D
Артур
такс снова я с csv )
Артур
https://pastebin.com/dvhCQF2R