当前位置: 首页>>代码示例>>PHP>>正文


PHP CounterCachePost::unbindModel方法代码示例

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


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

示例1: 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

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


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