本文整理匯總了PHP中CounterCachePost::save方法的典型用法代碼示例。如果您正苦於以下問題:PHP CounterCachePost::save方法的具體用法?PHP CounterCachePost::save怎麽用?PHP CounterCachePost::save使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CounterCachePost
的用法示例。
在下文中一共展示了CounterCachePost::save方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testCounterCacheSkip
/**
* Tests that counter caches are unchanged when using 'counterCache' => false
*
* @return void
*/
public function testCounterCacheSkip()
{
$this->loadFixtures('CounterCacheUser', 'CounterCachePost');
$User = new CounterCacheUser();
$Post = new CounterCachePost();
$data = $Post->find('first', array('conditions' => array('id' => 1), 'recursive' => -1));
$data[$Post->alias]['user_id'] = 301;
$Post->save($data, array('counterCache' => false));
$users = $User->find('all', array('order' => 'User.id'));
$this->assertEquals(2, $users[0]['User']['post_count']);
$this->assertEquals(1, $users[1]['User']['post_count']);
}
示例2: testCounterCacheMultipleCaches
/**
* Tests having multiple counter caches for an associated model
*
* @access public
* @return void
*/
public function testCounterCacheMultipleCaches()
{
$this->loadFixtures('CounterCacheUser', 'CounterCachePost');
$User = new CounterCacheUser();
$Post = new CounterCachePost();
$Post->unbindModel(array('belongsTo' => array('User')), false);
$Post->bindModel(array('belongsTo' => array('User' => array('className' => 'CounterCacheUser', 'foreignKey' => 'user_id', 'counterCache' => array(true, 'posts_published' => array('Post.published' => true))))), false);
// Count Increase
$user = $User->find('first', array('conditions' => array('id' => 66), 'recursive' => -1));
$data = array('Post' => array('id' => 22, 'title' => 'New Post', 'user_id' => 66, 'published' => true));
$Post->save($data);
$result = $User->find('first', array('conditions' => array('id' => 66), 'recursive' => -1));
$this->assertEquals(3, $result[$User->alias]['post_count']);
$this->assertEquals(2, $result[$User->alias]['posts_published']);
// Count decrease
$Post->delete(1);
$result = $User->find('first', array('conditions' => array('id' => 66), 'recursive' => -1));
$this->assertEquals(2, $result[$User->alias]['post_count']);
$this->assertEquals(2, $result[$User->alias]['posts_published']);
// Count update
$data = $Post->find('first', array('conditions' => array('id' => 1), 'recursive' => -1));
$data[$Post->alias]['user_id'] = 301;
$Post->save($data);
$result = $User->find('all', array('order' => 'User.id'));
$this->assertEquals(2, $result[0]['User']['post_count']);
$this->assertEquals(1, $result[1]['User']['posts_published']);
}