/** * @param string $itemType * @param string $itemEvent * @param array $itemIds * * @return int */ protected function insertChunk($itemType, $itemEvent, array $itemIds) { $propelCollection = new ObjectCollection(); $propelCollection->setModel(SpyTouch::class); foreach ($itemIds as $itemId) { $touchEntity = new SpyTouch(); $touchEntity->setItemEvent($itemEvent)->setItemId($itemId)->setItemType($itemType)->setTouched(new \DateTime()); $propelCollection->append($touchEntity); } $propelCollection->save(); return $propelCollection->count(); }
public function testSetterCollectionWithNoData() { // Ensure no data BookQuery::create()->deleteAll(); BookClubListQuery::create()->deleteAll(); BookListRelQuery::create()->deleteAll(); $books = new ObjectCollection(); $this->assertEquals(0, $books->count()); // Basic usage $bookClubList1 = new BookClubList(); $bookClubList1->setGroupLeader('BookClubList1 Leader'); $bookClubList1->setBooks($books); $bookClubList1->save(); $this->assertEquals(0, $bookClubList1->getBooks()->count()); $this->assertEquals(1, BookClubListQuery::create()->count()); $this->assertEquals(0, BookQuery::create()->count()); $this->assertEquals(0, BookListRelQuery::create()->count()); }
public function testSetterOneToManyWithFkRequired() { // Ensure no data BookSummaryQuery::create()->deleteAll(); BookQuery::create()->deleteAll(); $coll = new ObjectCollection(); $coll->setModel('BookSummary'); for ($i = 0; $i < 3; $i++) { $coll[] = new BookSummary(); } $this->assertEquals(3, $coll->count()); $b = new Book(); $b->setTitle('myBook'); $b->setBookSummaries($coll); $b->save(); $this->assertInstanceOf('Propel\\Runtime\\Collection\\ObjectCollection', $b->getBookSummaries()); $this->assertEquals(3, $b->getBookSummaries()->count()); $this->assertEquals(1, BookQuery::create()->count()); $this->assertEquals(3, BookSummaryQuery::create()->count()); $coll->shift(); $this->assertEquals(2, $coll->count()); $b->setBookSummaries($coll); $b->save(); $this->assertEquals(2, $b->getBookSummaries()->count()); $this->assertEquals(1, BookQuery::create()->count()); $this->assertEquals(2, BookSummaryQuery::create()->count()); $newBookSammary = new BookSummary(); $newBookSammary->setSummary('My sammary'); // Kind of new collection $coll = clone $coll; $coll[] = $newBookSammary; $b->setBookSummaries($coll); $b->save(); $this->assertEquals(3, $coll->count()); $this->assertEquals(3, $b->getBookSummaries()->count()); $this->assertEquals(1, BookQuery::create()->count()); $this->assertEquals(3, BookSummaryQuery::create()->count()); // Add a new object $newBookSammary1 = new BookSummary(); $newBookSammary1->setSummary('My sammary 1'); // Existing collection - The fix around reference is tested here. $coll[] = $newBookSammary1; $b->setBookSummaries($coll); $b->save(); $this->assertEquals(4, $coll->count()); $this->assertEquals(4, $b->getBookSummaries()->count()); $this->assertEquals(1, BookQuery::create()->count()); $this->assertEquals(4, BookSummaryQuery::create()->count()); // Add the same collection $bookSummaries = $b->getBookSummaries(); $b->setBookSummaries($bookSummaries); $b->save(); $this->assertEquals(4, $coll->count()); $this->assertEquals(4, $b->getBookSummaries()->count()); $this->assertEquals(1, BookQuery::create()->count()); $this->assertEquals(4, BookSummaryQuery::create()->count()); }
public function testSetterOneToManyWithNoData() { // Ensure no data BookQuery::create()->deleteAll(); AuthorQuery::create()->deleteAll(); $books = new ObjectCollection(); $this->assertEquals(0, $books->count()); // Basic usage $a = new Author(); $a->setBooks($books); $a->save(); $this->assertEquals(0, $a->getBooks()->count()); $this->assertEquals(1, AuthorQuery::create()->count()); $this->assertEquals(0, BookQuery::create()->count()); }