Hello, I have a problem on joining tables. Exactly, it's custom query
pagination case. But, I am stucked at 'joining' table thing. I've
stucked since yesterday (what a shame)..

Here is the case. I have a table relationship using belongsTo, but I
still wanna 'JOIN' it with 2 more tables. So, in controller, I join
it.

#code#
var $paginate = array(
                'limit' => 10,
                'joins' => array(
                        array(
                                'table' => 'poschecks',
                                        'alias' => 'Poscheck',
                                        'type' => 'LEFT',
                                        'conditions' => array(
                                                'Poscheck.id = 
Visit.poscheck_id'
                                         )
                                ),
                        array(
                                'table' => 'grouptariffs',
                                        'alias' => 'Grouptariff',
                                        'type' => 'LEFT',
                                        'conditions' => array(
                                                'Grouptariff.id = 
Tariff.grouptarif_id'
                                         )
                                )
                ),
                'conditions' => "Visit.tanggal >= '2011-03-01' AND 
Visit.tanggal <=
'2011-03-31'"
        );


What happen is, it gimme query error. After I look at the
displayed-query, It has wrong position.

..............
LEFT JOIN poschecks AS `Poscheck` ON (`Poscheck`.`id` = `Visit`.`poscheck_id`)
LEFT JOIN grouptariffs AS `Grouptariff` ON (`Grouptariff`.`id` =
`Tariff`.`grouptarif_id`)

LEFT JOIN `tariffs` AS `Tariff` ON (`Expense`.`tarif_id` = `Tariff`.`id`)
LEFT JOIN `visits` AS `Visit` ON (`Expense`.`visit_id` = `Visit`.`id`)
LEFT JOIN `workers` AS `Worker` ON (`Expense`.`worker_id` = `Worker`.`id`)

WHERE
`Visit`.`tanggal` >= '2011-03-01' AND `Visit`.`tanggal` <= '2011-03-31'

The first two LEFT JOIN, is the join from the controller that I added.
But the problem is, those should be above/below the last line (LEFT
JOIN `workers` AS `Worker` ON (`Expense`.`worker_id` = `Worker`.`id`)
). If I edited the query then replace it to the right position and run
it on the phpmyadmin, it works and give me results what I expected.

The question is how I solve this case? I mean how to place the first 2
lines below the 'JOIN' made by my model?
Thank you for any help..

-- 
Regards,,,
mastanto
http://www.mastanto.com
http://thom-sharing.blogspot.com

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to