Reports with Symfony   November 17th, 2007

I wondered what the easiest way was to create reports.
I looked into PM Report 4.1 by Zeke Walker, but did not think it would be what I needed.

So this is what I did:
edit the Peer class of your table, and add a function that will return the data that you will need in the report:

static function getAllRowsWithBlabla()
$con = Propel::getConnection(self::DATABASE_NAME);
$sql = 'SELECT * FROM '.self::TABLE_NAME.' WHERE a=1 ORDER BY nachname, vorname';
$stmt = $con->prepareStatement($sql);
$rs = $stmt->executeQuery(ResultSet::FETCHMODE_NUM);
return BasePatePeer::populateObjects($rs);

Then in apps/myapp/modules/mytable/actions/actions.class.php add an action for the report:

public function executeReportVereinsmitglieder()
$this->items = MyTablePeer::getAllRowsWithBlabla();

Finally, create a success page:

Date created:

My blabla report

if ($item->getSomeCondition())
if ($first)
$first = false;
echo ', ';
echo $item->getMyValue();


To disable some items for printing, I changed the css styles
in file apps/myapp/templates/layout.php: