2015-05-05 4 views
0

Я новичок в cakephp, и я много искал, но не смог получить решение. Мой запрос не возвращает никаких ошибок, но он не входит в таблицу зон с таблицей disposeTemp.CakePHP JOIN не работает

public function disposePreview(){ 

$this->loadModel('DisposeTemp'); 
$joins = array(
    array(
     'table' => 'zones',                     
     'alias' => 'Zone',                     
     'type' => 'inner',                                         
     'conditions' => array('DisposeTemp.zone = Zone.id') 
    ) 
); 
$options = array(
    'conditions' => array('DisposeTemp.is_delete' => 0,'DisposeTemp.status'=>2), 
    'order' => array('Item.item_category_id' => 'asc'), 
    'joins' => $joins 
);           
$getDT = $this->DisposeTemp->find('all', $options); 
debug($getDT); 
exit; 
} 
+0

У вас включен Debug в файле конфигурации? –

+0

Также укажите версию cakephp, которую вы используете. –

+0

Да, отладка включена. CakePHP версия 2.6.2 –

ответ

0

Установка внешнего ключа неверно, как вы, не имея надлежащего именования для внешнего ключа в DisposeTemp таблице, он должен был быть zone_id для авто формы отношений.

Теперь в вашей ситуации Используйте.

$joins = array(
    array(
     'table' => 'zones',                     
     'alias' => 'Zone',                     
     'type' => 'inner',  
     'foreignKey' => FALSE,                                       
     'conditions' => array('DisposeTemp.zone = Zone.id') 
    ) 
); 
+0

Я раньше использовал «foreignKey» => FALSE, но все же он не работает. Позже я использовал метод bindModel, он работал для меня. Все равно спасибо ! –