У меня есть таблица:Как обновить конкретные строки, используя Laravel
ID|user_id|group_id|subject |book_id|duplicate
1| 2 |3 |history |1 |
2| 4 |3 |history |1 |
3| 5 |3 |history |1 |
Я хочу, чтобы результирующая таблица, чтобы выглядеть следующим образом:
ID|user_id|group_id|subject |book_id|duplicate
1| 2 |3 |history |1 |
2| 4 |3 |history |1 |1
3| 5 |3 |history |1 |1
Я хочу, чтобы все восходящие идентификаторы после самой низкой ID
дубликата колонки для обновления до 1. ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: идентификаторы являются динамическими, и поэтому просто использование ->where(ID, '>', 1);
не будет работать во всех случаях.
до сих пор у меня есть этот
$duplicates = DB::table('table')
->where('subject', 'history')
->where('book_id', 1)
->skip(1)->take(1)
->update(['duplicate' => 1]);
Код выше не работает, потому что я получаю результирующую таблицу, которая выглядит следующим образом:
ID|user_id|group_id|subject |book_id|duplicate
1| 2 |3 |history |1 | 1
2| 4 |3 |history |1 |
3| 5 |3 |history |1 |
Вы даже потрудились прочитать документацию Laravel? http://laravel.com/docs/master/eloquent#basic-updates –