Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, esta é a primeira vez que eu estou postando aqui, desculpe-me se postei em lugar errado, segue a minha duvida:
Eu gostaria de dar o inner join diretamente nos metodos dos models do zend, ex.:
$model->fetchAll()->metodoDoJoin($algumParametro);
Eu dei uma pesquisada no google, mas la esta meio estranho, enfim, estou tendo que fazer o sql inteiro so por causa destes join.
Explicando melhor a minha situação.
Eu tenho 2 vars com o nome de 2 tabelas, a 1 estou setando ela como o nome da tabela do model, ou seja, o fetchAll trará os resultados dela, ja a segunda seria somente para o join, se por acaso na 1 tabela existisse um campo com o mesmo nome da segunda tabela, ele faria o join e me mandaria o resultado ja bonitinho. PS.: O unico dado que eu tenho são os nomes das duas tabelas, mais nada, será que é possivel algo deste tipo?
Assim, esse model ai muta, ele muda as tabelas frequentemente, algumas tabelas não possuem ligação, outras possuem. Pensei em deixar um try catch la tentando fazer o join, se desse falha ele faria o select normal. Não uso o $this->select(alguma coisa), já que eu não sei os campos da minha tabela, pois como eu havia falado, a mesma muda. Entretanto, eu tenho o nome das tabela, e sei se tem 1 ou 2 tabelas para consulta, então, é possível fazer o join, ja que o campo da tabela principal possui o mesmo nome da tabela secundaria, e vice-versa.
O objetivo de tudo isso é que, se for possivel, eu não preciso nem mecher no php quando criar um modulo novo, quando estou trabalhando com apenas 1 tabela, eu ja consigo fazer isso, ele insere os dados, busca, edita tudo certinho, mas quando são duas tabelas, sou obrigado a fazer este join, que esta me quebrando no meio. Este esquema acima ajuda na segurança, com isso eu consigo filtrar as permissões dos usuarios aos modulos, ou seja tudo passa por la.
A duvida principal seria se é possivel usar fetchAll com join.
Abraços.
>
A duvida principal seria se é possivel usar fetchAll com join.
A única forma é como eu mostrei acima. Fazer o fetchAll() e depois usar o join não funciona nem mesmo faz sentido.
Confesso que ainda não consegui entender o que você está tentando fazer. Quem sabe se você mostrar os códigos a gente possa te ajudar de alguma forma, porque até agora não consegui entender o que você quer fazer.
Carlos Eduardo
Confesso que não entendi o que você quer fazer. Para fazer um join() no Zend Framework, você utiliza o seguinte:
Algo neste sentido. Não sei se vai ajudar muito, mas...
Carlos Eduardo