我有以下代码,它根据id从表“products”中选择产品。
public function p_details(){
$productIdNum = $this->params['detailID'];
//$this->Product->read(null, $productIdNum);
if(Validation::naturalNumber($productIdNum) == true){
$itemById = $this->Product->find('all', array('conditions' =>
array('Product.id' => $productIdNum)));
if(count($itemById) > 0){
$this->set('itemDetails', $itemById['Product']['id']);
}
}
}
但是当我尝试在视图中打印变量“$ itemDetails”时,
像<?php echo $itemDetails['Product']['name']; ?>
它给了我这个错误:
未定义的索引:产品。如果我把它改成这个
像<?php echo $itemDetails['name']; ?>
它仍然给我同样的错误:未定义的索引:名称。
我无法弄清楚这一点。
答案 0 :(得分:1)
嗯,问题在于$this->set('itemDetails', $itemById['Product']['id']);
您为itemDetails
变量分配了ID而不是数组。将其更改为$this->set('itemDetails', $itemById);
,它应该有效。