本文整理汇总了PHP中Something::bindModel方法的典型用法代码示例。如果您正苦于以下问题:PHP Something::bindModel方法的具体用法?PHP Something::bindModel怎么用?PHP Something::bindModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Something
的用法示例。
在下文中一共展示了Something::bindModel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testHabtmSaveWithConditionsInAssociation
/**
* test that saving habtm records respects conditions set in the 'conditions' key
* for the association.
*
* @return void
*/
public function testHabtmSaveWithConditionsInAssociation()
{
$this->loadFixtures('JoinThing', 'Something', 'SomethingElse');
$Something = new Something();
$Something->unbindModel(array('hasAndBelongsToMany' => array('SomethingElse')), false);
$Something->bindModel(array('hasAndBelongsToMany' => array('DoomedSomethingElse' => array('className' => 'SomethingElse', 'joinTable' => 'join_things', 'conditions' => array('JoinThing.doomed' => true), 'unique' => true), 'NotDoomedSomethingElse' => array('className' => 'SomethingElse', 'joinTable' => 'join_things', 'conditions' => array('JoinThing.doomed' => 0), 'unique' => true))), false);
$result = $Something->read(null, 1);
$this->assertTrue(empty($result['NotDoomedSomethingElse']));
$this->assertEquals(1, count($result['DoomedSomethingElse']));
$data = array('Something' => array('id' => 1), 'NotDoomedSomethingElse' => array('NotDoomedSomethingElse' => array(array('something_else_id' => 2, 'doomed' => 0), array('something_else_id' => 3, 'doomed' => 0))));
$Something->create($data);
$result = $Something->save();
$this->assertFalse(empty($result));
$result = $Something->read(null, 1);
$this->assertEquals(2, count($result['NotDoomedSomethingElse']));
$this->assertEquals(1, count($result['DoomedSomethingElse']));
}
示例2: testRelatedAfterFindCallback
/**
* test after find callback on related model
*
* @return void
*/
public function testRelatedAfterFindCallback()
{
$this->loadFixtures('Something', 'SomethingElse', 'JoinThing');
$Something = new Something();
$Something->bindModel(array('hasMany' => array('HasMany' => array('className' => 'JoinThing', 'foreignKey' => 'something_id')), 'hasOne' => array('HasOne' => array('className' => 'JoinThing', 'foreignKey' => 'something_id'))));
$results = $Something->find('all');
$expected = array(array('Something' => array('id' => '1', 'title' => 'First Post', 'body' => 'First Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'), 'HasOne' => array('id' => '1', 'something_id' => '1', 'something_else_id' => '2', 'doomed' => true, 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31', 'afterFind' => 'Successfully added by AfterFind'), 'HasMany' => array(array('id' => '1', 'something_id' => '1', 'something_else_id' => '2', 'doomed' => true, 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31', 'afterFind' => 'Successfully added by AfterFind')), 'SomethingElse' => array(array('id' => '2', 'title' => 'Second Post', 'body' => 'Second Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31', 'afterFind' => 'Successfully added by AfterFind', 'JoinThing' => array('doomed' => true, 'something_id' => '1', 'something_else_id' => '2', 'afterFind' => 'Successfully added by AfterFind')))), array('Something' => array('id' => '2', 'title' => 'Second Post', 'body' => 'Second Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31'), 'HasOne' => array('id' => '2', 'something_id' => '2', 'something_else_id' => '3', 'doomed' => false, 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31', 'afterFind' => 'Successfully added by AfterFind'), 'HasMany' => array(array('id' => '2', 'something_id' => '2', 'something_else_id' => '3', 'doomed' => false, 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31', 'afterFind' => 'Successfully added by AfterFind')), 'SomethingElse' => array(array('id' => '3', 'title' => 'Third Post', 'body' => 'Third Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31', 'afterFind' => 'Successfully added by AfterFind', 'JoinThing' => array('doomed' => false, 'something_id' => '2', 'something_else_id' => '3', 'afterFind' => 'Successfully added by AfterFind')))), array('Something' => array('id' => '3', 'title' => 'Third Post', 'body' => 'Third Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31'), 'HasOne' => array('id' => '3', 'something_id' => '3', 'something_else_id' => '1', 'doomed' => true, 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31', 'afterFind' => 'Successfully added by AfterFind'), 'HasMany' => array(array('id' => '3', 'something_id' => '3', 'something_else_id' => '1', 'doomed' => true, 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31', 'afterFind' => 'Successfully added by AfterFind')), 'SomethingElse' => array(array('id' => '1', 'title' => 'First Post', 'body' => 'First Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31', 'afterFind' => 'Successfully added by AfterFind', 'JoinThing' => array('doomed' => true, 'something_id' => '3', 'something_else_id' => '1', 'afterFind' => 'Successfully added by AfterFind')))));
$this->assertEquals($expected, $results, 'Model related with has* afterFind callback fails');
$JoinThing = new JoinThing();
$JoinThing->unbindModel(array('belongsTo' => array('Something')));
$results = $JoinThing->find('all');
$expected = array(array('JoinThing' => array('id' => '1', 'something_id' => '1', 'something_else_id' => '2', 'doomed' => true, 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31', 'afterFind' => 'Successfully added by AfterFind'), 'SomethingElse' => array('id' => '2', 'title' => 'Second Post', 'body' => 'Second Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31', 'afterFind' => 'Successfully added by AfterFind')), array('JoinThing' => array('id' => '2', 'something_id' => '2', 'something_else_id' => '3', 'doomed' => false, 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31', 'afterFind' => 'Successfully added by AfterFind'), 'SomethingElse' => array('id' => '3', 'title' => 'Third Post', 'body' => 'Third Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31', 'afterFind' => 'Successfully added by AfterFind')), array('JoinThing' => array('id' => '3', 'something_id' => '3', 'something_else_id' => '1', 'doomed' => true, 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31', 'afterFind' => 'Successfully added by AfterFind'), 'SomethingElse' => array('id' => '1', 'title' => 'First Post', 'body' => 'First Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31', 'afterFind' => 'Successfully added by AfterFind')));
$this->assertEquals($expected, $results, 'Model related with belongsTo afterFind callback fails');
}