PROBLEM: WHY DOES IT NOT DO A LEFT JOIN ON THE COUNTRY AS WELL ?
//controller
function results($searchTerm = null)
{
$this->Profile->Behaviors->attach('Containable');
$this->Profile->bindModel(array('belongsTo' => array('State' =>
array('className' => 'State',
'conditions' => '',
'order' => '',
'dependent' => true,
'foreignKey' => 'state_id'
)
)
),false
);
$this->paginate = array(
'conditions'=>array("Member.isActive","MATCH(Member.fname,Member.lname)
AGAINST('" . Sanitize::escape($searchTerm) . "' IN BOOLEAN MODE)"),
'limit'=>10,
'order'=> array('Member.fname' => 'asc'),
'fields'=> array('Member.id', 'Member.fname',
'Member.lname','Member.modified',
'Profile.gender','Profile.primaryPhotoSrc','State.name'),
'contain'=> array('Member', 'State'=>array('Country'))
);
$this->set('results',$this->Paginate('Profile'));
$this->render();
}
SELECT COUNT(*) AS `count` FROM `profiles` AS `Profile` LEFT JOIN
`members` AS `Member` ON (`Profile`.`member_id` = `Member`.`id`) LEFT
JOIN `states` AS `State` ON (`Profile`.`state_id` = `State`.`id`)
WHERE `Member`.`isActive` AND MATCH(`Member`.`fname`,`Member`.`lname`)
AGAINST('jack' IN BOOLEAN MODE)
SELECT `Member`.`id`, `Member`.`fname`, `Member`.`lname`,
`Member`.`modified`, `Profile`.`gender`, `Profile`.`primaryPhotoSrc`,
`State`.`name`, `State`.`id` FROM `profiles` AS `Profile` LEFT JOIN
`members` AS `Member` ON (`Profile`.`member_id` = `Member`.`id`) LEFT
JOIN `states` AS `State` ON (`Profile`.`state_id` = `State`.`id`)
WHERE `Member`.`isActive` AND MATCH(`Member`.`fname`,`Member`.`lname`)
AGAINST('jack' IN BOOLEAN MODE) ORDER BY `Member`.`fname` asc LIMIT 10
class State extends AppModel
{
var $name = 'State';
var $belongsTo = array('Country' =>
array('className' => 'Country',
'conditions' => "",
'order' => '',
'foreignKey' => 'country_id',
)
);
}
class Country extends AppModel
{
var $name = 'Country';
var $hasMany = array('State' =>
array('className' => 'State',
'order' => '',
'limit' => '',
'foreignKey' => 'country_id',
'dependent' => true
)
);
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---