Lançado Adianti Framework 7.6!
Clique aqui para saber mais
duvida TCriteria olá pessoal, tenho uma duvida com relação ao uso do TCriteria: Tenho as seguintes tabelas: Pessoa ====== id nome status --> A-Ativo / I-Inativo Pessoa_Tipo ========== id id_pessoa id_tipo_pessoa --> controlado por códigos 1-cliente / 2-fornecedor / 3-vendedor Utilizo a seguinte situação para fazer o Critério de filtro: ...
MC
duvida TCriteria  
olá pessoal, tenho uma duvida com relação ao uso do TCriteria:

Tenho as seguintes tabelas:

Pessoa
======
id
nome
status --> A-Ativo / I-Inativo


Pessoa_Tipo
==========
id
id_pessoa
id_tipo_pessoa --> controlado por códigos 1-cliente / 2-fornecedor / 3-vendedor



Utilizo a seguinte situação para fazer o Critério de filtro:


  1. <?php
  2.         $criteria_cli = new TCriteria();
  3.         $criteria_cli->add(new TFilter('id_tipo_pessoa','=','1'), TExpression::OR_OPERATOR); // tipo de pessoa 1 --> cliente
  4.         $criteria_cli->add(new TFilter('id_cliente_erp','=',$unit_erp), TExpression::AND_OPERATOR); 
  5.         $id_cliente = new TDBCombo('id_cliente''sistema''PessoaTipo''id_pessoa''{pessoa->nome} - ({pessoa->id})','(select nome from pessoa where id = id_pessoa) asc',$criteria_cli);
  6. ?>


Mais preciso considerar apenas os registros que estão com o status A-Ativo

tem como colocar no critério essa outra opção? haja visto que trata-se de uma outra tabela.

forte abraço


Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (4)


NM

Hola Marcelo

Eu uso muito a parte de View do banco, não seria mais prático.
MC

Nilton

Ate seria, porem a view da tabela pessoa, eu tenho organizada para essas funções.

Porem, tenho a tabela Pessoa_Tipo, que agrupa varios tipos para a mesma Pessoa.

Exemplo:

Pessoa
======
id - 1
nome - Joao da Silva
status - A-Ativo

Pessoa_Tipo
==========
id - 10
id_pessoa - 1
id_tipo_pessoa - 1-cliente

id - 11
id_pessoa - 2
id_tipo_pessoa - 2-fornecedor


Dessa forma, nao encontrei uma maneira de usar o Tciretria para localizar apenas os fornecedores que estejam Ativos.

NR

Veja o exemplo usando "in" com subselect:
https://framework.adianti.me/tutor/index.php?class=CriteriaView
MC

Obrigado Nataniel

resolvido o problema