本文整理汇总了PHP中Propel\Tests\Bookstore\Book::addReview方法的典型用法代码示例。如果您正苦于以下问题:PHP Book::addReview方法的具体用法?PHP Book::addReview怎么用?PHP Book::addReview使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propel\Tests\Bookstore\Book
的用法示例。
在下文中一共展示了Book::addReview方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testClearRefFk
/**
* Test the clearing of related object collection.
* @link http://www.propelorm.org/ticket/529
*/
public function testClearRefFk()
{
BookstoreDataPopulator::populate();
$book = new Book();
$book->setISBN("Foo-bar-baz");
$book->setTitle("The book title");
// No save ...
$r = new Review();
$r->setReviewedBy('Me');
$r->setReviewDate(new DateTime("now"));
$book->addReview($r);
// No save (yet) ...
$this->assertEquals(1, count($book->getReviews()));
$book->clearReviews();
$this->assertEquals(0, count($book->getReviews()));
}
示例2: testScenarioUsingQuery
//.........这里部分代码省略.........
// now update the BLOB column and save it & check the results
$m1_lookup->setCoverImage(file_get_contents($blob2_path));
$m1_lookup->save();
$m2_lookup = MediaQuery::create()->findPk($m1_id);
$this->assertNotNull($m2_lookup, 'Can find just-created media item');
$this->assertEquals(md5(file_get_contents($blob2_path)), md5(stream_get_contents($m2_lookup->getCoverImage())), 'BLOB was correctly overwritten');
// Test Validators
// ---------------
$bk1 = new Book();
$bk1->setTitle("12345");
// min length is 10
$ret = $bk1->validate();
$this->assertFalse($ret, 'validation failed');
$failures = $bk1->getValidationFailures();
$this->assertEquals(1, count($failures), '1 validation message was returned');
$el = array_shift($failures);
$this->assertContains("must be more than", $el->getMessage(), 'Expected validation message was returned');
$bk2 = new Book();
$bk2->setTitle("Don Juan");
$ret = $bk2->validate();
$this->assertFalse($ret, 'validation failed');
$failures = $bk2->getValidationFailures();
$this->assertEquals(1, count($failures), '1 validation message was returned');
$el = array_shift($failures);
$this->assertContains("Book title already in database.", $el->getMessage(), 'Expected validation message was returned');
//Now trying some more complex validation.
$auth1 = new Author();
$auth1->setFirstName("Hans");
// last name required; will fail
$bk1->setAuthor($auth1);
$rev1 = new Review();
$rev1->setReviewDate("08/09/2001");
// will fail: reviewed_by column required
$bk1->addReview($rev1);
$ret2 = $bk1->validate();
$this->assertFalse($ret2, 'validation failed');
$failures2 = $bk1->getValidationFailures();
$this->assertEquals(3, count($failures2), '3 validation messages were returned');
$expectedKeys = array(AuthorPeer::LAST_NAME, BookPeer::TITLE, ReviewPeer::REVIEWED_BY);
$this->assertEquals($expectedKeys, array_keys($failures2), 'correct columns failed');
$bk2 = new Book();
$bk2->setTitle("12345678901");
// passes
$auth2 = new Author();
$auth2->setLastName("Blah");
//passes
$auth2->setEmail("some@body.com");
//passes
$auth2->setAge(50);
//passes
$bk2->setAuthor($auth2);
$rev2 = new Review();
$rev2->setReviewedBy("Me!");
// passes
$rev2->setStatus("new");
// passes
$bk2->addReview($rev2);
$ret3 = $bk2->validate();
$this->assertTrue($ret3, 'complex validation can pass');
// Testing doCount() functionality
// -------------------------------
// old way
$c = new Criteria();
$records = BookPeer::doSelect($c);
$count = BookPeer::doCount($c);
$this->assertEquals($count, count($records), 'correct number of results');
示例3: testToArrayWithForeignObjectsDoesNotHavePrefix
/**
* @see https://github.com/propelorm/Propel2/issues/648
*/
public function testToArrayWithForeignObjectsDoesNotHavePrefix()
{
$book = new Book();
$book->addReview(new Review());
$array = $book->toArray(TableMap::TYPE_PHPNAME, false, [], true);
$this->assertArrayHasKey('Reviews', $array);
$this->assertArrayNotHasKey('Review_0', $array['Reviews']);
$this->assertArrayHasKey(0, $array['Reviews']);
}
示例4: testCountRefFk
public function testCountRefFk()
{
$book = new Book();
$book->setTitle("Test Book");
$book->setISBN("TT-EE-SS-TT");
$num = 5;
for ($i = 2; $i < $num + 2; $i++) {
$r = new Review();
$r->setReviewedBy('Hans ' . $num);
$dt = new DateTime("now");
$dt->modify("-" . $i . " weeks");
$r->setReviewDate($dt);
$r->setRecommended($i % 2 == 0);
$book->addReview($r);
}
$this->assertEquals($num, $book->countReviews(), "Expected countReviews to return {$num}");
$this->assertEquals($num, count($book->getReviews()), "Expected getReviews to return {$num} reviews");
$book->save();
BookTableMap::clearInstancePool();
ReviewTableMap::clearInstancePool();
$book = BookQuery::create()->findPk($book->getId());
$this->assertEquals($num, $book->countReviews(), "Expected countReviews() to return {$num} (after save)");
$this->assertEquals($num, count($book->getReviews()), "Expected getReviews() to return {$num} (after save)");
// Now set different criteria and expect different results
$c = new Criteria();
$c->add(ReviewTableMap::RECOMMENDED, false);
$this->assertEquals(floor($num / 2), $book->countReviews($c), "Expected " . floor($num / 2) . " results from countReviews(recomm=false)");
// Change Criteria, run again -- expect different.
$c = new Criteria();
$c->add(ReviewTableMap::RECOMMENDED, true);
$this->assertEquals(ceil($num / 2), count($book->getReviews($c)), "Expected " . ceil($num / 2) . " results from getReviews(recomm=true)");
$this->assertEquals($num, $book->countReviews(), "Expected countReviews to return {$num} with new empty Criteria");
}
示例5: testDoValidate_ComplexSpecifiedCols
/**
* Test recursive validaton with specified columns.
*/
public function testDoValidate_ComplexSpecifiedCols()
{
$book = new Book();
$book->setTitle("12345");
// min length is 10
$author = new Author();
$author->setFirstName("Hans");
// last name required, valid email format, age > 0
$review = new Review();
$review->setReviewDate("08/09/2001");
// reviewed_by column required, invalid status (new, reviewed, archived)
$book->setAuthor($author);
$book->addReview($review);
$cols = array(AuthorPeer::LAST_NAME, ReviewPeer::REVIEWED_BY);
$res = $book->validate($cols);
$this->assertFalse($res, "Expected validation to fail.");
$failures = $book->getValidationFailures();
/* Make sure 3 validation messages were returned; NOT 6, because the others were NULL */
$this->assertEquals(2, count($failures), "");
/* Make sure correct columns failed */
$expectedCols = array(AuthorPeer::LAST_NAME, ReviewPeer::REVIEWED_BY);
$returnedCols = array_keys($failures);
/* implode for readability */
$this->assertEquals(implode(',', $expectedCols), implode(',', $returnedCols));
}