increment

请教各位大神一个问题 我的表里有两个字段 in他型 vote 和 num 如何实现increment的时候对这两个字段都做操作+1或者-1 急急急啊 $results = DB::table('articles')
->where('id', '=', $params['id'])
->increment('vote',1, array('num' => "num+1"));

这个是我操作的代码 报错 但将报错里的sql拿出来放到mysql命令行里执行却是可以的 求解决方法 !!!
已邀请:

FiveSay - 成武

赞同来自: 安正超 起因小强

$results = DB::table('articles')
    ->where('id', $params['id'])
    ->increment('vote', 1, array('num' => DB::raw('`num` + 1')));

羽飞

赞同来自: FiveSay

另外一种更直观的写法:
$results = DB::table('articles')->where('id', $params['id'])
->update(array(
   'vote' => DB::raw('vote + 1'),
   'num'  => DB::raw('num + 1'),
));

qufo

赞同来自:

我不知道为什么要两个一模一样的列。

一般我会有一个列 vote.然后,实在不行模型里多加个属性而已。
<?php
class Articles extends Eloquent {
protected $appends = array('num');
public function getNumAttribute(){
    return $this->vote;
}
}
?>

这样只管 自增 或 自减 vote .num 跟 vote 是恒等的。

要回复问题请先登录注册