⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 model.test.php

📁 Cake Framwork , Excellent
💻 PHP
📖 第 1 页 / 共 5 页
字号:
			)		);		$this->assertEqual($result, $expected);		$TestModel->hasAndBelongsToMany['Tag']['limit'] = 1;		$result = $TestModel->read(null, 2);		unset($expected['Tag'][1]);		$this->assertEqual($result, $expected);	}/** * testHabtmUniqueKey method *  * @access public * @return void */	function testHabtmUniqueKey() {		$model =& new Item();		$this->assertFalse($model->hasAndBelongsToMany['Portfolio']['unique']);	}/** * testHasManyLimitOptimization method *  * @access public * @return void */	function testHasManyLimitOptimization() {		$this->loadFixtures('Project', 'Thread', 'Message', 'Bid');		$Project =& new Project();		$Project->recursive = 3;		$result = $Project->find('all');		$expected = array(			array('Project' => array('id' => 1, 'name' => 'Project 1'),				'Thread' => array(array('id' => 1, 'project_id' => 1, 'name' => 'Project 1, Thread 1',					'Message' => array(array('id' => 1, 'thread_id' => 1, 'name' => 'Thread 1, Message 1',						'Bid' => array('id' => 1, 'message_id' => 1, 'name' => 'Bid 1.1')))),				array('id' => 2, 'project_id' => 1, 'name' => 'Project 1, Thread 2',					'Message' => array(array('id' => 2, 'thread_id' => 2, 'name' => 'Thread 2, Message 1',						'Bid' => array('id' => 4, 'message_id' => 2, 'name' => 'Bid 2.1')))))),			array('Project' => array('id' => 2, 'name' => 'Project 2'),				'Thread' => array(array('id' => 3, 'project_id' => 2, 'name' => 'Project 2, Thread 1',					'Message' => array(array('id' => 3, 'thread_id' => 3, 'name' => 'Thread 3, Message 1',						'Bid' => array('id' => 3, 'message_id' => 3, 'name' => 'Bid 3.1')))))),			array('Project' => array('id' => 3, 'name' => 'Project 3'),					'Thread' => array()));		$this->assertEqual($result, $expected);	}/** * testWithAssociation method *  * @access public * @return void */	function testWithAssociation() {		$this->loadFixtures('Something', 'SomethingElse', 'JoinThing');		$TestModel =& new Something();		$result = $TestModel->SomethingElse->find('all');		$expected = array(			array('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'),				'Something' => 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',					'JoinThing' => array('id' => '3', 'something_id' => '3', 'something_else_id' => '1', 'doomed' => '1', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31')))),			array('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'),				'Something' => 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',					'JoinThing' => array('id' => '1', 'something_id' => '1', 'something_else_id' => '2', 'doomed' => '1', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31')))),			array('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'),				'Something' => 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',					'JoinThing' => array('id' => '2', 'something_id' => '2', 'something_else_id' => '3', 'doomed' => '0', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31')))));		$this->assertEqual($result, $expected);		$result = $TestModel->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'),				'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',						'JoinThing' => array('doomed' => '1', 'something_id' => '1', 'something_else_id' => '2')))),				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'),					'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',						'JoinThing' => array('doomed' => '0', 'something_id' => '2', 'something_else_id' => '3')))),				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'),					'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',						'JoinThing' => array('doomed' => '1', 'something_id' => '3', 'something_else_id' => '1')))));		$this->assertEqual($result, $expected);		$result = $TestModel->findById(1);		$expected = 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'),				'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',					'JoinThing' => array('doomed' => '1', 'something_id' => '1', 'something_else_id' => '2'))));		$this->assertEqual($result, $expected);		$TestModel->hasAndBelongsToMany['SomethingElse']['unique'] = false;		$TestModel->create(array(			'Something' => array('id' => 1),			'SomethingElse' => array(3, array('something_else_id' => 1, 'doomed' => '1'))		));		$ts = date('Y-m-d H:i:s');		$TestModel->save();		$TestModel->hasAndBelongsToMany['SomethingElse']['order'] = 'SomethingElse.id ASC';		$result = $TestModel->findById(1);		$expected = array(			'Something' => array('id' => '1', 'title' => 'First Post', 'body' => 'First Post Body', 'published' => 'Y', 'created' => '2007-03-18 10:39:23', 'updated' => $ts),				'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',						'JoinThing' => array('doomed' => '1', 'something_id' => '1', 'something_else_id' => '1')),					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',						'JoinThing' => array('doomed' => '1', 'something_id' => '1', 'something_else_id' => '2')),					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',						'JoinThing' => array('doomed' => '0', 'something_id' => '1', 'something_else_id' => '3'))));		$this->assertEqual($result, $expected);	}/** * testDynamicAssociations method *  * @access public * @return void */	function testDynamicAssociations() {		$this->loadFixtures('Article', 'Comment');		$TestModel =& new Article();		$TestModel->belongsTo = $TestModel->hasAndBelongsToMany = $TestModel->hasOne = array();		$TestModel->hasMany['Comment'] = array_merge($TestModel->hasMany['Comment'], array(			'foreignKey' => false,			'conditions' => array('Comment.user_id =' => '2')		));		$result = $TestModel->find('all');		$expected = array(			array(				'Article' => array('id' => '1', 'user_id' => '1', 'title' => 'First Article', 'body' => 'First Article Body', 'published' => 'Y', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'),				'Comment' => array(					array('id' => '1', 'article_id' => '1', 'user_id' => '2', 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'),					array('id' => '6', 'article_id' => '2', 'user_id' => '2', 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31')				)			),			array(				'Article' => array('id' => '2', 'user_id' => '3', 'title' => 'Second Article', 'body' => 'Second Article Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31'),				'Comment' => array(					array('id' => '1', 'article_id' => '1', 'user_id' => '2', 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'),					array('id' => '6', 'article_id' => '2', 'user_id' => '2', 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31')				)			),			array(				'Article' => array('id' => '3', 'user_id' => '1', 'title' => 'Third Article', 'body' => 'Third Article Body', 'published' => 'Y', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31'),				'Comment' => array(					array('id' => '1', 'article_id' => '1', 'user_id' => '2', 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'),					array('id' => '6', 'article_id' => '2', 'user_id' => '2', 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31')				)			)		);		$this->assertEqual($result, $expected);	}/** * testSaveMultipleHabtm method *  * @access public * @return void */	function testSaveMultipleHabtm() {		$this->loadFixtures('JoinA', 'JoinB', 'JoinC', 'JoinAB', 'JoinAC');		$TestModel = new JoinA();		$result = $TestModel->findById(1);		$expected = array(			'JoinA' => array('id' => 1, 'name' => 'Join A 1', 'body' => 'Join A 1 Body', 'created' => '2008-01-03 10:54:23', 'updated' => '2008-01-03 10:54:23'),				'JoinB' => array(					0 => array('id' => 2, 'name' => 'Join B 2', 'created' => '2008-01-03 10:55:02', 'updated' => '2008-01-03 10:55:02',						'JoinAsJoinB' => array('id' => 1, 'join_a_id' => 1, 'join_b_id' => 2, 'other' => 'Data for Join A 1 Join B 2', 'created' => '2008-01-03 10:56:33', 'updated' => '2008-01-03 10:56:33'))),				'JoinC' => array(					0 => array('id' => 2, 'name' => 'Join C 2', 'created' => '2008-01-03 10:56:12', 'updated' => '2008-01-03 10:56:12',						'JoinAsJoinC' => array('id' => 1, 'join_a_id' => 1, 'join_c_id' => 2, 'other' => 'Data for Join A 1 Join C 2', 'created' => '2008-01-03 10:57:22', 'updated' => '2008-01-03 10:57:22'))));		$this->assertEqual($result, $expected);		$ts = date('Y-m-d H:i:s');		$TestModel->id = 1;		$data = array(			'JoinA' => array('id' => '1', 'name' => 'New name for Join A 1', 'updated' => $ts),			'JoinB' => array(array('id' => 1, 'join_b_id' => 2, 'other' => 'New data for Join A 1 Join B 2', 'created' => $ts, 'updated' => $ts)),			'JoinC' => array(array('id' => 1, 'join_c_id' => 2, 'other' => 'New data for Join A 1 Join C 2', 'created' => $ts, 'updated' => $ts)));		$TestModel->set($data);		$TestModel->save();		$result = $TestModel->findById(1);		$expected = array(			'JoinA' => array('id' => 1, 'name' => 'New name for Join A 1', 'body' => 'Join A 1 Body', 'created' => '2008-01-03 10:54:23', 'updated' => $ts),				'JoinB' => array(					0 => array('id' => 2, 'name' => 'Join B 2', 'created' => '2008-01-03 10:55:02', 'updated' => '2008-01-03 10:55:02',						'JoinAsJoinB' => array('id' => 1, 'join_a_id' => 1, 'join_b_id' => 2, 'other' => 'New data for Join A 1 Join B 2', 'created' => $ts, 'updated' => $ts))),				'JoinC' => array(					0 => array('id' => 2, 'name' => 'Join C 2', 'created' => '2008-01-03 10:56:12', 'updated' => '2008-01-03 10:56:12',						'JoinAsJoinC' => array('id' => 1, 'join_a_id' => 1, 'join_c_id' => 2, 'other' => 'New data for Join A 1 Join C 2', 'created' => $ts, 'updated' => $ts))));		$this->assertEqual($result, $expected);	}/** * testFindAllRecursiveSelfJoin method *  * @access public * @return void */	function testFindAllRecursiveSelfJoin() {		$this->loadFixtures('Home', 'AnotherArticle', 'Advertisement');		$TestModel =& new Home();		$TestModel->recursive = 2;		$result = $TestModel->findAll();		$expected = array(array('Home' => array(						'id' => '1', 'another_article_id' => '1', 'advertisement_id' => '1', 'title' => 'First Home', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'),								'AnotherArticle' => array('id' => '1', 'title' => 'First Article', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31',										'Home' => array(array('id' => '1', 'another_article_id' => '1', 'advertisement_id' => '1', 'title' => 'First Home', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'))),								'Advertisement' => array('id' => '1', 'title' => 'First Ad', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31',									'Home' => array(array('id' => '1', 'another_article_id' => '1', 'advertisement_id' => '1', 'title' => 'First Home', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'),										array('id' => '2', 'another_article_id' => '3', 'advertisement_id' => '1', 'title' => 'Second Home', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31')))),				array('Home' => array(						'id' => '2', 'another_article_id' => '3', 'advertisement_id' => '1', 'title' => 'Second Home', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31'),								'AnotherArticle' => array('id' => '3', 'title' => 'Third Article', 'created' => '2007-03-18 10:43:23', 'updated' => '2007-03-18 10:45:31',										'Home' => array(array('id' => '2', 'another_article_id' => '3', 'advertisement_id' => '1', 'title' => 'Second Home', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31'))),								'Advertisement' => array('id' => '1', 'title' => 'First Ad', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31',									'Home' => array(array('id' => '1', 'another_article_id' => '1', 'advertisement_id' => '1', 'title' => 'First Home', 'created' => '2007-03-18 10:39:23', 'updated' => '2007-03-18 10:41:31'),											array('id' => '2', 'another_article_id' => '3', 'advertisement_id' => '1', 'title' => 'Second Home', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31')))));		$this->assertEqual($result, $expected);	}/** * testFindSelfAssociations method *  * @access public * @return void */	function testFindSelfAssociations() {		$this->loadFixtures('Person');		$TestModel =& new Person();		$TestModel->recursive = 2;		$result = $TestModel->read(null, 1);		$expected = array(				'Person' => array('id' => 1, 'name' => 'person', 'mother_id' => 2, 'father_id' => 3),				'Mother' => array('id' => 2, 'name' => 'mother', 'mother_id' => 4, 'father_id' => 5,					'Mother' => array('id' => 4, 'name' => 'mother - grand mother', 'mother_id' => 0, 'father_id' => 0),					'Father' => array('id' => 5, 'name' => 'mother - grand father', 'mother_id' => 0, 'father_id' => 0)),				'Father' => array('id' => 3, 'name' => 'father', 'mother_id' => 6, 'father_id' => 7,					'Father' => array('id' => 7, 'name' => 'father - grand father', 'mother_id' => 0, 'father_id' => 0),					'Mother' => array('id' => 6, 'name' => 'father - grand mother', 'mother_id' => 0, 'father_id' => 0)));		$this->assertEqual($result, $expected);		$TestModel->recursive = 3;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -