..:: MX Studio Fóruns ::..: Como isso seria feito no lumine - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Como isso seria feito no lumine

#1 User is offline   psicoppardo 

  • Group: Membros
  • Posts: 7
  • Joined: 10-March 11

Posted 29 April 2011 - 11:06 PM

essa é minha consulta sql:
SELECT d.matricula, d.nome, DAY( d.dt_nasc ) , d.telefone, fl.atividade
FROM dpessoais AS d, filiado AS fl
WHERE MONTH( d.dt_nasc ) =4
AND d.matricula = fl.matricula
AND fl.atividade =1


isso em lumine:

<?php
/* 
 * classe de experiencia podia apagar não faz parte do sistema Sindgest
 */
include_once 'configuracao_bd.php';

Lumine::import(Dpessoais, Filiado);

$pessoa = new Dpessoais();
$filiado = new Filiado();




$filiado->alias('p')
  ->where('p.atividade = 1 and u.matricula = p.matricula')
  ->find();



$pessoa->alias('u')
  // pegamos todos os campos...
  ->select('u.nome, u.matricula')

  // efetuamos a consulta
  ->find();

while($pessoa->fetch()){
    echo $pessoa->nome .'<br />';
}
?>


gostaria de ajuda, gosto muito deste framwork, só que estou tendo muitas dificuldades com sua lógica. A coluna matricula é comum em minhas tabelas, porém não sei declarar isso, fato interessante. Por favor se tiver até mesmo uma apostila com exemplos práticos de relacionamento, configuração das entidades agradeceria muito.
0

#2 User is offline   hufersil 

  • Group: Moderadores
  • Posts: 1265
  • Joined: 15-January 04

Posted 30 April 2011 - 12:26 AM


<?php
/* 
 * classe de experiencia podia apagar não faz parte do sistema Sindgest
 */
include_once 'configuracao_bd.php';

Lumine::import(Dpessoais, Filiado);

$pessoa = new Dpessoais();
$filiado = new Filiado();

// troca o alias de pessoa
$pessoa->alias('d')
  // une com filiado, usando o campo matricula de pessoa e o campo matricula de filiado
  ->join($filiado,'inner','fl', 'matricula', 'matricula')
  // comente onde o mes for 4
  ->where(' MONTH(d.dt_nasc) = ? ', 4)
  // somente se a atividade for 1
  ->where('fl.atividade = ?', 1)
  // efetua a consulta
  ->find();
?>


@braços e fique com Deus!
0

#3 User is offline   psicoppardo 

  • Group: Membros
  • Posts: 7
  • Joined: 10-March 11

Posted 30 April 2011 - 01:51 PM

Fatal error: Uncaught exception 'Lumine_Exception' with message 'O campo dt_nasc nao foi encontrado em Dpessoais' in D:\xampp\htdocs\www\sindcan\lumine\lib\Base.php:1445 Stack trace: #0 D:\xampp\htdocs\www\sindcan\lumine\lib\Parser.php(118): Lumine_Base->_getField('dt_nasc') #1 D:\xampp\htdocs\www\sindcan\lumine\lib\Parser.php(69): Lumine_Parser::parseEntityValues(Object(Dpessoais), ' MONTH(d.dt_nas...', Array) #2 D:\xampp\htdocs\www\sindcan\lumine\lib\Base.php(1256): Lumine_Parser::parsePart(Object(Dpessoais), ' MONTH(d.dt_nas...', Array) #3 D:\xampp\htdocs\www\sindcan\lumineRe.php(26): Lumine_Base->where(' MONTH(d.dt_nas...', 4) #4 {main} thrown in D:\xampp\htdocs\www\sindcan\lumine\lib\Base.php on line 1445


Poxa!!! Eu não compreendo esse erro, será que eu configurei o lumine errado???????
0

#4 User is offline   psicoppardo 

  • Group: Membros
  • Posts: 7
  • Joined: 10-March 11

Posted 30 April 2011 - 02:01 PM

hufersil, primeiro lugar muito obrigado pelas dicas. Testando o codigo percebi que a parte que acontece o erro refere-se a:

->where(' MONTH(d.dt_nasc) = ? ', 4)


Ele fala que não reconhece a coluna d.dt_nasc, sendo que eu já olhei no banco e ela consta.

Obs: será que nenhuma editora se enteressaria em publicar um livro sobre o projeto::Lumine?
0

#5 User is offline   psicoppardo 

  • Group: Membros
  • Posts: 7
  • Joined: 10-March 11

Posted 30 April 2011 - 03:00 PM

Apesar de não entender bem, consegui com ajuda indispensável do hufersil, resolver minha duvida, segue o código funcional:

<?php
/* 
 * classe de experiencia podia apagar não faz parte do sistema Sindgest
 */
include_once 'configuracao_bd.php';

Lumine::import(Dpessoais, Filiado);

$pessoa = new Dpessoais();
$filiado = new Filiado();

// troca o alias de pessoa
$pessoa->alias('d')

  // une com filiado, usando o campo matricula de pessoa e o campo matricula de filiado
  ->join($filiado,'inner','fl', 'matricula', 'matricula')
 
 //filtra a consulta com mes=4
 ->where(' MONTH(dt_nasc) = 4')
  // somente se a atividade for 1
 ->where('fl.atividade = ?', 1)
 
 // efetua a consulta
 ->find();

While($pessoa->fetch()){
    echo $pessoa->nome.'<br />';
}

?>


Como pode ser visto a linha ->where(' MONTH(d.dt_nasc) = ?',4), não sei porquê não aceitou o alias 'd' (retornava sempre que a coluna dt_nasc, não existia na tabela DPessoais), quando retirei o alias funcionou, todavia não reconhecia o valor atribuido '4', então suprimi a virgula e inclui o numeral de pesquisa dentro das aspas. a linha corrigida por mim ficou assim:

->where(' MONTH(dt_nasc) = 4')



Peço ao moderador que considere o tópico como RESOLVIDO, caso este não tenha nada a acrescentar.

Desde já, Deus abençoe a todos.
0

#6 User is offline   hufersil 

  • Group: Moderadores
  • Posts: 1265
  • Joined: 15-January 04

Posted 09 May 2011 - 02:11 PM

Agora que vi a resposta.

Verifique se você utilizou camel case.
Se sim, onde tem underline, troque para o modo camel case, ou seja, isto:

d.dt_nasc

por

d.dtNasc

@braços e fique com Deus!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse

  Topic Forum Started By Stats Last Post Info
New Replies CFLOOP + CFOUTPUT
Como fazer funcionar utilizando os 2 ?
ColdFusion lumiere 
  • 2 Replies
  • 1409 Views
New Replies Códigos de Barras no Corel
Como mudar a FONTE ?
Corel Draw WorldGraf 
  • 3 Replies
  • 4650 Views
New Replies Efeito de agua do mar
Tutorial para efeito de agua do mar
Flash & ActionScript ALB 
  • 2 Replies
  • 3916 Views
New Replies Ajudem, é urgente! Script + FLA
Eu sei q já tem vários post disso...
Flash & ActionScript karel_oakwood 
  • 7 Replies
  • 1378 Views
New Replies Efeito de brilho passando Flash & ActionScript Baldoke 
  • 1 Reply
  • 1767 Views
New Replies Sinal analógico deixará de ser transmitido por 158 emissoras de TV dos EUA Notícias Notícias 
  • 0 Replies
  • 192 Views
New Replies como fazer um sistema de busca avançada?
...no dreamweaver
Tutoriais e Artigos candycane 
  • 2 Replies
  • 6281 Views
New Replies Como carregar swfs externos em seqüência
Preciso que meu banner carregue um swf seguido do outro
Flash & ActionScript Ayame Kaneko 
  • 1 Reply
  • 807 Views

Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)