Увеличение столбцов в laravel

Есть ли способ увеличить количество столбцов в laravel?

Предположим:

DB::table('my_table') ->where('rowID', 1) ->increment('column1', 2) ->increment('column2', 10) ->increment('column3', 13) ->increment('column4', 5); 

Но это приводит к:

Call to a member function increment() on integer

Я просто хочу найти эффективный способ сделать это, используя заданные функции из laravel. Благодарю. Любые предложения сделают.

Для этого нет существующей функции. Вы должны использовать update() :

 DB::table('my_table') ->where('rowID', 1) ->update([ 'column1' => DB::raw('column1 + 2'), 'column2' => DB::raw('column2 + 10'), 'column3' => DB::raw('column3 + 13'), 'column4' => DB::raw('column4 + 5'), ]); 

Для дальнейшего использования в 5.2 это было сделано, если сделать следующее

Вы также можете указать дополнительные столбцы для обновления во время операции:

DB :: table ('users') -> increment ('votes', 1, ['name' => 'John']);

Источник: https://laravel.com/docs/5.2/queries#updates

Во-первых, результатом increment является целое число в соответствии с документацией: http://laravel.com/api/4.2/Illuminate/Database/Query/Builder.html

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

 DB::table('my_table') ->where('rowID', 1) ->increment('column1', 2); DB::table('my_table') ->where('rowID', 1) ->increment('column2', 10); DB::table('my_table') ->where('rowID', 1) ->increment('column3', 13); DB::table('my_table') ->where('rowID', 1) ->increment('column4', 5); 

Я не могу найти более быстрое решение, если вы не решите его с помощью команды необработанного запроса на обновление.

Также ваш пример кода, вероятно, приведет к ошибке, поскольку вы закрыли инструкцию ; и продолжить с новым вызовом ->increment на следующей строке.