SoRepository.php
1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
namespace Cacic\CommonBundle\Entity;
use Doctrine\ORM\EntityRepository;
/**
*
* Repositório de métodos de consulta em DQL
* @author lightbase
*
*/
class SoRepository extends EntityRepository
{
public function paginar( \Knp\Component\Pager\Paginator $paginator, $page = 1 )
{
$_dql = "SELECT s
FROM CacicCommonBundle:So s
ORDER BY s.teDescSo";
return $paginator->paginate(
$this->getEntityManager()->createQuery( $_dql ),
$page,
10
);
}
/**
*
* Método de listagem dos Tipo de Software cadastrados e respectivas informações
*/
public function listar()
{
$_dql = "SELECT s
FROM CacicCommonBundle:So s
ORDER BY s.teDescSo";
return $this->getEntityManager()->createQuery( $_dql )->getArrayResult();
}
public function createIfNotExist( $te_so )
{
$so = $this->findBy( array ( 'teSo' => $te_so ) );
if( empty( $so ) )
{
$so = new So();
$so->setTeSo($te_so);
$so->setSgSo("Sigla a Cadastrar");
$so->setTeDescSo("S.O. a Cadastrar");
$so->setInMswindows("S");
$this->getEntityManager()->persist( $so );
$this->getEntityManager()->flush();
} else {
// Return first element, which should be SO object
$so = $so[0];
}
return $so;
}
}