【发布时间】:2013-09-27 01:53:05
【问题描述】:
您好多年来一直试图让它工作,
我有一个交易控制器
<?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”也有一个值,这对我来说听起来就像控制器已经通过了这个
我现在迷路了,哈哈
感谢所有帮助,如果您需要更多信息,请询问:)
编辑:更改的代码 - 它仍然无法识别变量 City
这里是显示控制器正在传递它的 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我将更改此字段的名称;)
谢谢 戴夫
【问题讨论】:
-
HAHAHAHA 喜欢 ufos?^^ 你可能是说“未定义”...
-
你能发布 var_dump($deals) 的输出吗?
-
对于它的价值,您可能需要考虑遵循模型的命名约定。如果您有一个名为 citys 的表,而不是使用 city 作为字段,您应该使用 name。然后您可以查询 City.name 而不是 City.city。
标签: php cakephp error-handling