protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $this->conn = $databaseManager->getDatabase('doctrine')->getDoctrineConnection(); $sql = 'SELECT id FROM member WHERE is_active != 0'; $where = array(); if ( $options['min'] && $options['max'] && $options['min'] <= $options['max']) { $sql .= ' AND id BETWEEN ? AND ?'; $where = array(intval($options['min']),intval($options['max'])); } $memberIds = $this->conn->fetchColumn($sql, $where); $this->setContents(); foreach ($memberIds as $memberid) { $randomtime = $this->makeRandomTime($options['date'],$options['number']); for ($i=0; $i<$options['number']; ++$i) { $title=$this->makeRandomContents('title',$options['titlecount']); $body=$this->makeRandomContents('body',$options['bodycount']); $diary = new Diary(); $diary->setMemberId($memberid); $diary->setTitle($title); $diary->setBody($body); $diary->setPublicFlag(1); $diary->setCreatedAt($randomtime[$i]); $diary->setUpdatedAt($randomtime[$i]); $diary->save(); $diary->free(); $this->logSection('posted a diary', sprintf('%s %s', $memberid, $randomtime[$i])); } } }