В контроллере, который полностью не связан - DoctorsController, мне нужно получить информацию из моей модели ChildrenMedicine, а также название лекарства, которое находится в его собственной родственной медицине модель. Так что в моем (несвязанном) контроллере DoctorsController я использую:cakephp - использование loadmodel и получение данных, связанных с загруженной моделью
$this->loadModel('ChildrenMedicine');
$this->ChildrenMedicine->recursive = 2;
$childsMeds = $this->ChildrenMedicine->find('all', array('conditions'=>array('child_id'=>$child)));
Я ожидал, чтобы меня массив со всеми лекарствами, которые в настоящее время использует ребенок, плюс информацию из таблицы лекарств, так что я могу получить имя. Однако это только дает мне:
$childsMeds[0]['ChildrenMedicine']
$childsMeds[1]['ChildrenMedicine']
тогда я надеялся на
$childsMeds[0]['ChildrenMedicine']
$childsMeds[0]['Medicine']
$childsMeds[0]['Child']
$childsMeds[1]['ChildrenMedicine']
$childsMeds[1]['Medicine']
$childsMeds[1]['Child']
Может кто-нибудь просветить меня?
EDIT - мое ChildrenMedicine модель ассоциация:
public $belongsTo = array(
'Child' => array(
'className' => 'Child',
'foreignKey' => 'child_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Medicine' => array(
'className' => 'Medicine',
'foreignKey' => 'medicine_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Можете ли вы разместить свои ассоциации моделей KidsMedicine? – Sixthpoint
@Sixthpoint Я разместил его выше, спасибо за поиск :) –
простых проверок, у вас есть внешний ключ в таблице KidsMedicine, называемый «medic_id» и «child_id». Кроме того, убедитесь, что у вас есть данные, связывающие ассоциации. http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto – Sixthpoint