CakePHP increment value

非 Y 不嫁゛ 提交于 2019-12-02 06:14:21

It looks like you are running an updateAll query for all Groupevents assigned to a selected Poll:

if ($this->Poll->Groupevent->updateAll(
              array('Groupevent.votes'=>'Groupevent.votes+1'), 
              array('Groupevent.poll_id'=>$this->Poll->id))) 
        { 
...

You need to create an array with the ID's of checked Groupevents and add a condition that will limit the update only to selected events:

if ($this->Poll->Groupevent->updateAll(
              array('Groupevent.votes'=>'Groupevent.votes+1'),
              array('Groupevent.id IN' => $selectedEventsIds),
              array('Groupevent.poll_id'=>$this->Poll->id))) 
        {
...

I have an app I am developing where I allow users(thru jQuery) to Vote UP or Down a specific comment. This is how I implemented it. I basically call this function thru Ajax/jQuery and it only increments the Comment by the passed argument; My comments table has 2 fields - Liked and Disliked. One example if voteUp and I also have voteDown which is pretty similar.

function voteUp($id = null){

    $this->autoRender = false; 
    if($this->RequestHandler->isAjax()){
        $this->Comment->id = $id;
        // Basically I get the value of liked(Field in Db) and increment it by 1
        $this->Comment->saveField('liked',$this->Comment->field('liked')+1);
    }       
    $newValue =  $this->Comment->findById($id);     
    //pass this value back to the view so it is displayed
    //using jQuery
    return $newValue['Comment']['liked'];
}

Let me know if you have anymore questions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!