Привет, я пытался заставить это работать целую вечность,
У меня есть контроллер сделок
<?php
class DealsController extends AppController {
var $name = 'Deals';
var $helpers = array('HTML', 'Javascript', 'Form', 'Time', 'Ajax');
var $components = array('RequestHandler', 'Session', 'Cookie');
var $uses = array('Deal', 'City', 'Partner');
function beforeFilter(){
parent::beforeFilter();
if(strpos($this->here, 'admin')){
$this->layout = 'admin';
}
}
function view($id = null) {
if (!$id) {
$this->Session->setFlash(__('Invalid deal', true));
$this->redirect(array('action' => 'index'));
}
$this->set('deal', $this->Deal->read(null, $id));
}
function by_city($CityID = null)
{
$city = $this->paginate = array(
'conditions' => array('City.id' => $CityID),
'limit' => 1
);
$this->set('city',$city);
$this->Retailer->recursive = -1;
$this->paginate = array(
'conditions' => array('Deal.city_id' => $CityID),
'order' => array('Deal.start'=>'desc'),
'limit' => 3
);
$this->set('deals',$this->paginate());
}
, и представление by_city:
<h3>More Deals from <?php echo $city['City']['city'];?></h3>
Сейчаскогда я запускаю это, я получаю уведомление "неопознанный индексный город"
, когда я запускаю var_dump, он говорит, что есть массив City и 'city', а также имеет значение, которое звучит для меня так, как будто контроллер прошел это
я потерян сейчас lol
Вся помощь приветствуется, если вам нужна дополнительная информация, просто спросите:)
Редактировать: Измененный код - он по-прежнему не идентифицирует переменную Город
вот переменная var_dump, показывающая, что контроллер передает ее:
array(1) {
[0]=>
array(3) {
["Deal"]=>
array(15) {
["id"]=>
string(1) "2"
["... this part of is fine so ill hide this part of the var_dump
}
["City"]=>
array(2) {
["id"]=>
string(1) "1"
["city"]=>
string(7) "Glasgow"
}
}
}
, поскольку вы можете видеть, что $ city ['City'] ['city'] передается.PS я изменю название этого поля;)
Спасибо, Дейв