$t->is($article, null, 'findFirst() returns null when no records match'); $finder = new sfDoctrineFinder('DArticle'); $article = $finder->findLast(); $t->is($article, null, 'findLast() returns null when no records match'); $article1 = new DArticle(); $article1->setTitle('foo'); $article1->save(); $article2 = new DArticle(); $article2->setTitle('foo2'); $article2->save(); $finder = new sfDoctrineFinder('DArticle'); $article = $finder->findFirst(); $t->isa_ok($article, 'DArticle', 'findFirst() returns a single object'); $t->is($article->getTitle(), 'foo', 'findFirst() returns the last object matching the conditions'); $finder = new sfDoctrineFinder('DArticle'); $article = $finder->findLast(); $t->isa_ok($article, 'DArticle', 'findLast() returns a single object'); $t->is($article->getTitle(), 'foo2', 'findLast() returns the last object matching the conditions'); $t->diag('findBy() and findOneBy()'); Doctrine_Query::create()->delete()->from('DArticle')->execute(); $article1 = new DArticle(); $article1->setTitle('foo'); $article1->save(); $article2 = new DArticle(); $article2->setTitle('foo2'); $article2->save(); $article3 = new DArticle(); $article3->setTitle('foo'); $article3->save(); $articles = sfDoctrineFinder::from('DArticle')->findBy('Title', 'foo'); $t->is(count($articles), 2, 'findBy() adds a condition on a given column');