public static function fetchByName($title, $fund, $period, $type, $author, $accountno, $preparedby1, $preparedby2, $certifiedby1, $certifiedby2) { if (!$title) { return; } //remove "page 1" from title $start = strpos($title, " page "); if ($start === false) { $journaltitle = $title; } else { $journaltitle = substr($title, 0, $start); } //search journal with title in database //if not found, create $journal = Doctrine::getTable('Journal')->findOneByName($journaltitle); if (!$journal) { //create one $journal = new Journal(); $journal->setName($journaltitle); $journal->setFundId($fund->getId()); $journal->setPeriodId($period->getId()); $journal->setType($type); $journal->setAuthor($author); $journal->setAccountno($accountno); $journal->setPreparedby1($preparedby1); $journal->setPreparedby2($preparedby2); $journal->setCertifiedby1($certifiedby1); $journal->setCertifiedby2($certifiedby2); $journal->save(); } return $journal; }