Увеличение значения поля


код, который у меня есть в функции, выглядит следующим образом:

DB::table('projects')
     ->where('order', DB::raw("(select `order` from projects)"))
     ->order + 1; 

ошибка, которая показывает мне, выглядит следующим образом:

Undefined property: Illuminate\Database\Query\Builder::$order

как я могу это исправить?

Author: Shaz, 2017-10-24

1 answers

Обычно не рекомендуется использовать order как имя поля, так как в некоторых движках это зарезервированное слово.


Отвечая на вашу проблему, вы должны использовать метод increment, доступный в Query Builder и Eloquent, если вы хотите увеличить все значения столбца order (я переименовал его в ordering в моем примере), следующий синтаксис должен работать:

DB::table('projects')-->increment('ordering');

Дополнительная информация в документации: https://laravel.com/docs/5.5/queries#increment-and-decrement

 2
Author: Shaz, 2017-10-24 14:51:33