Мне было интересно, как это сделать:
Table::update(array('position'=>'position+1')); Насколько я знаю, laravel 4 управляет «позицией + 1» в виде строки, поэтому становится 0.
Я хочу выполнить что-то вроде
 UPDATE table SET position = position + 1 
Могу ли я сделать это с помощью красноречивого?
EDIT: nevermind, doh .. "DB :: table ('users') -> increment ('votes');"
  Просто используйте метод increment : 
 DB::table('users')->increment('position'); 
  То же самое справедливо для decrement : 
 DB::table('users')->decrement('rank'); 
Вы можете даже установить второй параметр на сумму, которую вы хотите добавить / вычесть:
 DB::table('users')->increment('posts', 5); DB::table('users')->decrement('likes', 3); 
Кроме того, если вам нужно обновить другие столбцы вместе с ним, вы передадите его в качестве третьего параметра:
 DB::table('users')->increment('range', 3, array( 'name' => 'Raphael', 'rank' => 10 )); 
  То же самое касается и моделей Eloquent : 
 $firstUser = User::find(1); $firstUser->increment('height', 0.1, array( 'active' => false )); 
вы также можете сделать с DB :: raw способом следующим образом:
 DB::table('tablename')->where(your condition)->update(['position' => DB::raw('position+1')]); 
вы также можете выполнять другие операции с
 DB::table('tablename')->where(your condition)->update(['position' => DB::raw('position * 2')]); 
Это отлично сработало для меня
 \Models\User::where("id", $userId)->increment("points"); 
  просто вы можете использовать DB :: raw метод следующим образом: Table::update(DB::raw('position=position+1'));