°

laravel的自增和自减操作详解

PHP实战视频教程大全

在实际项目的开发中字段的自增和自减操作可以说很常用,比如我们开发的博客项目,在阅读文章的时候每次点击文章的点击数都会加1,再比如点击签到后积分自动增加,虽然通过其他方法也能达到相同的目的,但是无疑laravel提供给我们的自增和自减可以非常便捷的解决这一类的问题,下面我们来详细讲一下他们的用法:

自增:increment(字段,[步长])

increment自增方法有两个参数,第一个为必填,代表要对数据表的哪个字段进行自增操作,第二个参数为可选,如果为空则表示每次递增1,如果填写了比如3,则表示每次在原有的基础上递增3,下面我们举例说明:

首先我们在blog数据库中有user表,具体信息如下图:

下面我们通过自增方法对id=4的记录的user_age字段进行自增操作。

我们在rutes.php文件中定义一条路由,方便演示:

[php]

Route::get(‘addage’, ‘UserController@addage’);

[/php]

在UserController.php控制器中写以下方法:

[php]

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use DB;

class UserController extends Controller
{
public function addage(){
$res=DB::table(‘user’)->where(‘id’,’=’,4)->increment(‘user_age’);
if($res){
return ‘tongpankt.com提示您自增成功!’;
}else{
return ‘tongpankt.com提示您自增失败!’;
}
}
}

[/php]

在执行该方法之前,id=4的记录的user_age=20,执行之后,查看数据表则user_age=21。

上面是默认步长为1的操作,同样我们可以传递步长参数:

[php]
$res=DB::table(‘user’)->where(‘id’,’=’,4)->increment(‘user_age’,3);
[/php]

这样我们再次执行的时候每次就会递增3.
和递增的方法类似,我们还可以对数据进行递减的操作decrement(字段,[步长]),它的用法和自增一样,参数的用法也一样,只不过从自增变为了自减,你可以自己尝试修改后运行。

 

打赏
  喜欢