Этот вопрос относится к Метод Eloquent save () внутри цикла не работает .
КАРТА ПРОЦЕССА: ЗАГРУЗИТЬ ФАЙЛЫ> СОЗДАТЬ ТАБЛИЦЫ С ЗНАЧЕНИЕМ ПО УМОЛЧАНИЮ 0> ПРОДОЛЖИТЬITERATE OVER 0 PARTS (например, если последний 3-> 4,5,6)
Я хочу продолжить добавление изображений в конкретный проект после первой загрузки изображения.
$ input ['id']: содержит значение идентификатора проекта.
Я применяю каждый метод () следующим образом:
*** code part executed after multiple file upload ***
TABLE STATUS AT FIRST STAGE :
+---------+-------------+-----------+
| id | project_id | order_id |
+---------+-------------+-----------+
| 1 | 15 | 1 |
+---------+-------------+-----------+
| 2 | 15 | 2 |
+---------+-------------+-----------+
| 3 | 16 | 1 | --> Added in the past
+---------+-------------+-----------+
| 4 | 16 | 0 | --> Created on first stage** : default 0.
+---------+-------------+-----------+
| 5 | 16 | 0 | --> Created on first stage** : default 0.
+---------+-------------+-----------+
*** code continues ***
$start = Images::select('order_id')->where('project_id', '=', $input['id'])
->orderBy('order_id', 'DESC')->first();
Images::where('project_id', '=', $input['id'])->where('order_id', '=', 0)->get()
->each(function($ord) use (&$start) {
$ord->order_id = $start++;
$ord->save();
});
Результаты таблицы после кода, приведенного вышевыполнено (все еще в процессе)
+---------+-------------+-----------+
| id | project_id | order_id |
+---------+-------------+-----------+
| 1 | 15 | 1 |
+---------+-------------+-----------+
| 2 | 15 | 2 |
+---------+-------------+-----------+
| 3 | 16 | 1 | --> Added in the past
+---------+-------------+-----------+
| 4 | 16 | 0 | --> New / Present Action : 1st file
+---------+-------------+-----------+
| 5 | 16 | 0 | --> New / Present Action : 2nd one
+---------+-------------+-----------+
Ожидание:
+---------+-------------+-----------+
| id | project_id | order_id |
+---------+-------------+-----------+
| 1 | 15 | 1 |
+---------+-------------+-----------+
| 2 | 15 | 2 |
+---------+-------------+-----------+
| 3 | 16 | 1 | --> Added in the past
+---------+-------------+-----------+
| 4 | 16 | 2 | --> New / Present Action : 1st file
+---------+-------------+-----------+
| 5 | 16 | 3 | --> New / Present Action : 2nd one
+---------+-------------+-----------+
В чем проблема?Неверная логика или каждая ()?я не знаю, но я попытался с foreach, и я получил те же неправильные результаты.Любая помощь будет принята с благодарностью.Спасибо!