【发布时间】:2012-08-25 04:21:22
【问题描述】:
如需参考,请访问this page here。尝试在一个特定模型上显示视图时,我收到未定义的索引错误。具体来说,来自我的优惠券模型的任何数据。这是我的控制器代码:
public function seafood() {
$this->paginate['Restaurant']=array(
'limit'=>9,
'order' => 'RAND()',
'contain'=>array(
'User'=>array(
'id', 'user_name'),
'Coupon'=>array(
'id','description','expires','end_date','promo_code','restaurant_id')
),
'conditions'=>array(
'Restaurant.active'=>1,
'Restaurant.seafood'=>'Seafood'
)
);
$data = $this->paginate('Restaurant');
$this->set('seafood', $data);
当我在我的视图中调试($seafood) 时,Coupon 的所有数据都会显示,所以我知道它正确地提取数据并将其与我的餐厅模型相关联。但是,当我使用我的 $seafood 数组创建一个 foreach 循环时,除了与优惠券相关的任何内容的未定义索引错误外,我什么也得不到。奇怪的是,我还让我的控制器从 User 模型中拉出,并且我在视图中从该模型调用的任何内容都会被渲染。这是我的视图代码:
<?php foreach ($seafood as $res) { ?>
.....irrelevant code.....
<p><?php if($res['Coupon']['description'] !=''){
echo $this->Text->truncate($res['Coupon']['description'], 200, array('ending'=>'...', 'exact'=>false) );
}
else echo 'Sorry, a description of this restaurant\'s promotion is not available. <br><br><br>';
?><a href="<?php echo $res['Restaurant']['website']; ?>"><em> (read more -->)</em></a></p>
<br />
<div>
<a href="<?php echo $res['Restaurant']['website']; ?>" id="specials"><span style="margin-left:36px;">Promo Code: <span style="font-style:bold; color:#FF0000;"><?php echo $res['User']['user_name']; ?></span></span></a>
<a href=" " id="print"><span style="margin-left:24px;">Print</span></a>
<?php } ?>
......more irrelevant code.....
我尝试从数组中删除可包含的行为,但结果是相同的。我应该指出,当调试数组打印时,它按顺序排列:餐厅、用户、优惠券。蛋糕是否因为它是第 3 个而丢失了 Coupon 数组?还是我的视图代码很乱?
【问题讨论】: