• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP CounterCachePost类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中CounterCachePost的典型用法代码示例。如果您正苦于以下问题:PHP CounterCachePost类的具体用法?PHP CounterCachePost怎么用?PHP CounterCachePost使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了CounterCachePost类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: testCounterCacheUpdated

 /**
  * Tests that counter caches are updated when foreign keys of counted records change
  *
  * @access public
  * @return void
  */
 function testCounterCacheUpdated()
 {
     $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);
     $users = $User->find('all', array('order' => 'User.id'));
     $this->assertEqual($users[0]['User']['post_count'], 1);
     $this->assertEqual($users[1]['User']['post_count'], 2);
 }
开发者ID:hastapasta,项目名称:financereport,代码行数:18,代码来源:model_write.test.php


示例2: testToggleBoolFields

 public function testToggleBoolFields()
 {
     $this->loadFixtures('CounterCacheUser', 'CounterCachePost');
     $Post = new CounterCachePost();
     $Post->unbindModel(array('belongsTo' => array('User')), true);
     $true = array('Post' => array('published' => true, 'id' => 2));
     $false = array('Post' => array('published' => false, 'id' => 2));
     $fields = array('Post.published', 'Post.id');
     $updateConditions = array('Post.id' => 2);
     // check its true
     $result = $Post->find('first', array('conditions' => $updateConditions, 'fields' => $fields));
     $this->assertEquals($true, $result);
     // Testing without the alias
     $this->assertTrue($Post->updateAll(array('published' => 'NOT published'), $updateConditions));
     $result = $Post->find('first', array('conditions' => $updateConditions, 'fields' => $fields));
     $this->assertEquals($false, $result);
     $this->assertTrue($Post->updateAll(array('published' => 'NOT published'), $updateConditions));
     $result = $Post->find('first', array('conditions' => $updateConditions, 'fields' => $fields));
     $this->assertEquals($true, $result);
     $db = ConnectionManager::getDataSource('test');
     $alias = $db->name('Post.published');
     // Testing with the alias
     $this->assertTrue($Post->updateAll(array('Post.published' => "NOT {$alias}"), $updateConditions));
     $result = $Post->find('first', array('conditions' => $updateConditions, 'fields' => $fields));
     $this->assertEquals($false, $result);
     $this->assertTrue($Post->updateAll(array('Post.published' => "NOT {$alias}"), $updateConditions));
     $result = $Post->find('first', array('conditions' => $updateConditions, 'fields' => $fields));
     $this->assertEquals($true, $result);
 }
开发者ID:manzapanza,项目名称:cakephp-api-utils,代码行数:29,代码来源:ModelWriteTest.php


示例3: 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']);
 }
开发者ID:netun0,项目名称:cakephp-social-harvester,代码行数:33,代码来源:ModelWriteTest.php



注:本文中的CounterCachePost类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP CounterCacheUser类代码示例发布时间:2022-05-23
下一篇:
PHP CostbenefitprojectionHelper类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap