2

每当调用该函数时,我都会尝试将字段的值增加一。但问题是,尽管我添加了 +1,但它却增加了 3 而不是 1。下面是我的代码。

$this->loadModel('Listing');
$this->Listing->id = $listing_id;
$this->Listing->updateAll(array(
        'Listing.total_views' => 'Listing.total_views + 1'),
            array('Listing.id' => $listing_id));
4

2 回答 2

5
$this->loadModel('Listing');
$this->Listing->id = $listing_id;
$this->Listing->updateAll(array(
        'Listing.total_views' => 'Listing.total_views + 1'),
            array('Listing.id' => $listing_id));
于 2013-09-24T13:31:39.723 回答
-1

使用此代码更新。最好从数据库中获取 total_views,然后将其递增并在数据库中更新

$this->loadModel('Listing');
$this->Listing->id = $listing_id;
$count=$this->Listing->field('total_views');
$count=$count+1;
$this->Listing->saveField('Listing.total_views',$count);

如果问题仍然存在,那么您的代码必须运行多次。

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#model-field

http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-savefield-string-fieldname-string-fieldvalue-validate-false

于 2013-08-02T09:22:13.837 回答