#cakephp #cakephp-1.3
#cakephp #cakephp-1.3
Вопрос:
Столкнувшись с другой проблемой, из-за которой я, похоже, просто не могу найти какую-либо информацию, что может быть причиной.
Я объявляю переменную $makes, а внутри представления она ее не находит.
вот мой текущий код:
function makemodel($id = null) {
$this->Make->id = $id;
$makes = $this->Make->find('all', array(
'conditions' => array('id' => $id),
'contain' => array('Makemodel' => array('Road'))
)
);
}
}
?>
Я также пробовал это: $this-> set->(‘makes’,$this-> Make-> find(скрипт здесь));
Буду признателен за любой совет, спасибо!
Существуют ли какие-либо справочные материалы, кроме книги CakePHP?
Array ( [0] => Array ( [Make] => Array ( [id] => 1 [url_make] => subaru [MakeName] => Subaru [MakeOrigin] => Япония [Сводка] =>
)
[Makemodel] => Array
(
[0] => Array
(
[id] => 1
[ModelName] => Impreza WRX
[make_id] => 1
[Road] => Array
(
[0] => Array
(
[id] => 3
[makemodel_id] => 1
[RoadTypeID] => 1
[name] => Dirt
)
[1] => Array
(
[id] => 4
[makemodel_id] => 1
[RoadTypeID] => 2
[name] => Snow
)
)
)
)
)
)
Ответ №1:
Предполагая, что вызов find работает правильно, вы должны передать данные из вашего контроллера в ваше представление с помощью set()
метода.
function makemodel($id = null) {
$this->Make->id = $id;
$makes = $this->Make->find('all', array(
'conditions' => array('id' => $id),
'contain' => array('Makemodel' => array('Road'))
)
);
$this->set(compact('makes'));
}
Комментарии:
1. Потрясающее спасибо, начинаю понимать это. Не могли бы вы, пожалуйста, объяснить мне, почему это не работает. <?php echo $makes[‘Make’][‘MakeName’]?> Я смог выполнить отладку ($ makes), и массивы оказались правильными.
2. Для этого может потребоваться новый вопрос, но
MakeName
это модель или поле?3. Мне нужно было бы взглянуть на массив, поместить его в pastebin или что-то в этом роде
4. Спасибо за помощь, я разместил массив внутри вопроса.
5. Если она не находится в цикле, вам нужно будет получить доступ к $makes[‘Makemodel’][0][‘ИмямоДели’]
Ответ №2:
find
Возвращает правильные результаты?
function makemodel($id = null) {
$makes = $this->Make->find('all', array(
'conditions' => array('id' => $id),
'contain' => array('Makemodel' => array('Road'))
)
);
$this->set('makes', $makes);
}