function testDatabaseModelRelation()
 {
     $this->getConfiguration();
     $pessoaTable = new PessoaTable();
     $pessoa = $pessoaTable->getById(2);
     $this->assertTrue($pessoa != null);
     $telefones = $pessoa->getTelefones();
     $this->assertTrue($telefones != null);
     $this->assertTrue(sizeof($telefones) == 1);
     print_r($telefones);
     $tel = $telefone[0];
     echo '[' . $tel->telefone . ']';
     $this->assertTrue($telefone[0]->telefone == '(11) 26287116');
 }
 public function executeList(sfWebRequest $request)
 {
     $this->setLayout(false);
     $data = array();
     $page = $request->hasParameter('page') ? $request->getParameter('page') : 1;
     $sortName = $request->hasParameter('sortname') ? $request->getParameter('sortname') : 'nome';
     $sortOrder = $request->hasParameter('sortorder') ? $request->getParameter('sortorder') : 'ASC';
     $limit = $request->getParameter('rp');
     $param = $request->getParameter("query");
     $qtype = $request->getParameter("qtype");
     $data['page'] = $page;
     $data['rows'] = array();
     // Paginação
     $start = ($page - 1) * $limit;
     $query = Doctrine_Core::getTable('Pessoa')->createQuery('a')->orderBy("{$sortName} {$sortOrder}");
     if (!empty($qtype) && !empty($param) && PessoaTable::getInstance()->hasColumn($qtype)) {
         $query->addWhere("{$qtype} LIKE ?", "%{$param}%");
     }
     $data['total'] = $query->count();
     if ($start !== null && $start !== '' && $limit !== null && $limit !== '') {
         $query->limit($limit);
         $query->offset($start);
     }
     $pessoas = $query->execute();
     foreach ($pessoas as $pessoa) {
         $data['rows'][] = array('id' => $pessoa->getId(), 'cell' => array_values($pessoa->toArrayJSON()));
     }
     return $this->returnJson($data);
 }