控制器中未定义的索引(CakePhp)

控制器中未定义的索引(CakePhp),cakephp,Cakephp,我有以下代码,根据id从表“products”中选择product public function p_details(){ $productIdNum = $this->params['detailID']; //$this->Product->read(null, $productIdNum); if(Validation::naturalNumber($productIdNum) == true){ $itemB

我有以下代码,根据id从表“products”中选择product

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”时, 像
这给了我一个错误: 未定义索引:产品。如果我改成这个 像
它仍然会给我相同的错误:未定义索引:name。
我无法理解这一点。

问题是,
$this->set('itemDetails',$itemById['Product']['id'])
itemDetails
变量分配一个id,而不是数组。将其更改为
$this->set('itemDetails',$itemById),它应该可以工作。

下次获取索引未找到错误时,可能会出现重复的错误,您可以执行
调试($array)以查看数组实际包含的内容。感谢您的回复。后来我也注意到了这一点,尽管我花了将近一个小时才弄明白:)无论如何,谢谢你的回复