便捷 API

优质
小牛编辑
154浏览
2023-12-01

在model中我们提供了一些便捷的api,包括增加,减少某个字段的值,或者直接更改某个字段的值。

增加某个字段的值

public function increase($field, $offset, $id);

参数名称参数说明
$field字段名称
$offset增量
$id主键

这个使用的场景还是比较多的,比如你要增加某一篇文章的点击率,传统的方法你要这么做:

$item = $model->findById($id);
$model->update(array('hits' => $item['hits']+1), $id);

现在你只需要这样写就好了:

$model->increase('hits', 1, $id);

public function batchIncrease($field, $offset);

参数名称参数说明
$field字段名称
$offset增量

这个是用来批量增加某个字段的值的。

$model->where("userid", 100)->batchIncrease("hits", 2);
  • public function reduce($field, $offset, $id); //减少某个字段的值
  • public function batchReduce($field, $offset); //批量减少某一字段的值

更新某个字段的值

public function set($field, $value, $id);

参数名称参数说明
$field字段名称
$value字段值
$id主键
//常规写法
$model->update(array('name' => 'xiaoming'), $id);
//便捷写法
$model->set('name', 'xiaoming', $id);

public function sets($field, $value); //批量更新

$model->where("id", ">", 10)->sets("name", "aaaa");