EB
Funcionamento de SQL's no framewok
Fechado
Pessoal, desculpa a minha ignorância, mas não estou sabendo como o framework trabalha em relação a consultas SQL!
Estou com o seguinte problema: tenho um formulário onde no mesmo tenho dois TCombo, um para categoria e o outro para subcategoria. O subcategoria vai ser populado de acordo com a seleção feita no categoria.
Ai eu estou apanhando para trazer todas as categorias no campo categoria (TCombo).
Este aqui é meu model:
Como se faz um método tipo um findAll que traz todas as categorias? Ou o próprio framewok já traz isso pronto pra mim?
Ai eu queria instanciar este model de uma classe control e trazer essas informações para setar no TCombo categoria
Estou com o seguinte problema: tenho um formulário onde no mesmo tenho dois TCombo, um para categoria e o outro para subcategoria. O subcategoria vai ser populado de acordo com a seleção feita no categoria.
Ai eu estou apanhando para trazer todas as categorias no campo categoria (TCombo).
Este aqui é meu model:
- <?php
- class Categoria extends TRecord
- {
- const TABLENAME = 'categoria';
- const PRIMARYKEY= 'id';
- const IDPOLICY = 'max';
- public function __construct(1787 = NULL)
- {
- parent::__construct(1787);
- parent::addAttribute('categoria');
- }
- }
- ?>
Como se faz um método tipo um findAll que traz todas as categorias? Ou o próprio framewok já traz isso pronto pra mim?
Ai eu queria instanciar este model de uma classe control e trazer essas informações para setar no TCombo categoria
Olá Edilane, eu faço dessa forma. Copia todo o código pra um novo arquivo e mude os dados conforme se banco de dados e tabelas.
Me avise se deu certo ou não.
Olá Ivan Fernandes. Tentando seguir sua lógica aqui, mas não sei onde estou errando que não está trazendo as categorias para o TCombo.
Estou declarando assim, veja se tem algo errado:
Mas ainda assim não vem nada, sendo que no banco existe 11 categorias cadastradas.
Olá agora consegui trazer as categorias! É que essa declaração ai deve ser utilizada é pra o TDBCombo e não para o TCombo!
Agora vou tentar implementar o restante da sua lógica.
Abraço
Devido a forma como criei minha tabela de subcategoria vou ter que preencher o TCombo subcategoria com o resultado da seguinte SQL:
Como devo utilizar essa Sql com TCriteria?
Ola Edilane, eu usei o TDCombo por sua facilidade de uso, ele traz os dados da base automaticamente. Agora com relação ao preenchimento do TCombo da subcategoria, vc deve fazer como no exemplo que eu te passei, vc não precisa usar inter join e select, o framework faz isso com o de uso critérios e filtros para as seleções dos registros. Me passe os models da categoria e subcategoria da sua aplicação pra eu dar uma olhada.
Olá Edilaine, Será que não é o caso de remodelar o banco partindo de uma composição onde a sub-categoria vai receber o id da categoria?
Olá Jorge Cenci, fiz exatamente isso: remodelei o banco, inserindo o campo categoria_id.
Apliquei sua lógica Ivan Fernandes e funcionou perfeitamente a questão de carregar somente as subcategorias relacionadas a categoria selecionada!
Só que agora apareceu um pequeno detalhe: quando eu clico em salvar, e os dados são setados de volta no formulário, o TCombo subcategoria está vindo vázio!
Todos os demais campos voltam preenchidos, menos a subcategoria. Sabem me dizer o que pode ser isso?
Edilane, eu não sei se essa é a forma correta, mas funciona, antes do $this->form->setData(), insira esse código de acordo com os seus dados.
Acho que vc vai ter que carregar isso também no onEdit()
Infelizmente não consegui colocar pra funcionar.
Vou postar aqui minha classe, se possível me ajudarem
Edilane, vou enviar por email o código pra vc. Meu email: ivanrfer@gmail.com
Oi Ivan. enviei um email pra você. Pode me enviar o código pra esse mesmo email tá.
Vlew
Rapaz, desculpa ai. kkkkkkk
É que eu e minha esposa que estamos implementando um projeto ela foi enviar a mensagem achando que estava no perfil dela :-)
rsrs Tdo bem
Oi Ivan, obrigada viu.