Temat: Problem z $recursive
Problem podobny do opisanego tutaj.
Mam 3 tabele corporations, towns, regions. Oczywiście w corporations jest kolumna town_id, no i w towns jest kolumna region_id.
Modele:
class Corporation extends AppModel
{
var $name='Corporation';
var $belongsTo='Town';
}class Town extends AppModel
{
var $name='Town';
var $belongsTo='Region';
}class Region extends AppModel
{
var $name='Region';
}I teraz wywołując w kontrolerze corporations_controller
$this->set('corporation',$this->Corporation->findAll("ORDER BY Corporation.name ASC"));chciałbym uzyskać też informację taką jak Region.name
Zmieniłem więc model corporations na
class Corporation extends AppModel
{
var $name='Corporation';
var $recursive=2;
var $belongsTo='Town';
}i nadal lipa ;( Tak jakby recursive w ogóle nie działało... Może trzeba gdzieś w konfigu coś zamieszać?
Mimo iż recursive jest ustawione na 2, SQL zwraca:
SELECT `Corporation`.`id`, `Corporation`.`name`, `Corporation`.`town_id`, `Town`.`id`, `Town`.`name`, `Town`.`region_id` FROM `corporations` AS `Corporation` LEFT JOIN `towns` AS `Town` ON (`Corporation`.`town_id` = `Town`.`id`) ORDER BY `Corporation`.`name` ASCCzyli efekt jest taki sam jak wtedy gdy recursive jest ustawione na 0 lub na 1. Nie wiem, może coś robię źle, proszę o pomoc...