$article2->setTitle('foo2'); $article2->save(); $article3 = new Article(); $article3->setTitle('foo3'); $article3->save(); $finder = new sfPropelFinder('Article'); $article = $finder->findPk($article2->getId()); $t->is($article->getTitle(), 'foo2', 'findPk() returns the object with the primary key matching the argument'); $t->ok(!is_array($article), 'findPk() returns a single object when passed a single primary key'); $finder = new sfPropelFinder('Article'); $article = $finder->findPk(76543787654); $t->is($article, null, 'findPk() returns null if the primary key is not found'); $finder = new sfPropelFinder('Article'); $articles = $finder->findPk(array($article2->getId(), $article1->getId())); $t->ok(is_array($articles), 'findPk() returns an array of objects when passed an array of primary keys'); $t->is(count($articles), 2, 'findPk() returns the objects with the primary keys matching the arguments'); $article = $finder->with('Category')->findPk($article2->getId()); $t->cmp_ok(strpos($finder->getLatestQuery(), 'SELECT article.ID, article.TITLE, article.CATEGORY_ID, category.ID, category.NAME FROM article INNER JOIN category'), '===', 0, 'findPk() is compatible with with()'); ArticlePeer::doDeleteAll(); $article1 = new Article(); $article1->setTitle('foo'); $article1->setCulture('fr'); $article1->setContent('Bar'); $article1->save(); $articlei18n1 = $article1->getCurrentArticleI18n(); try