cakephp通知8:未定义索引:

cakephp通知8:未定义索引:,cakephp,Cakephp,我在我的view.ctp页面上看到了关于类别、产品和尺寸的cakephp通知8 以下是我的ProductsController供查看: public function view($id) { $result = $this->Product->find('all', array( 'contain' => array( 'Category' => array( 'Size'

我在我的view.ctp页面上看到了关于类别、产品和尺寸的cakephp通知8

以下是我的ProductsController供查看:

public function view($id) {
    $result = $this->Product->find('all', array(
        'contain' => array(
            'Category' => array(
                'Size'
            )

        ),
        'conditions' => array(
            'Product.id' => $id
        )

    ));

     $this->set(compact(
        'result'
    ));
以下是view.ctp:

<?php

$product = $result['Product'];
$category = $result['Category'];
$sizes = $category['Size'];

pr($result);

echo "<h2>" . $product['name'] . "</h2>";
echo "<div>". $product['description'] . "</div>";

echo $this->Form->create();
echo $this->Form->input('sizes');


echo "<h3>" . $size['name'] . "</h3>";

//echo $this->Html->link('Add to Paypal cart', $paypalUrl);

echo '<br />';
echo '<br />';

echo '<h3>Add to cart</h3>';

echo $this->Form->create(false); //  FALSE FOR NO MODEL
echo $this->Form->input('quantity');
echo $this->Form->submit('Add to cart');
echo $this->Form->end();


?>
所以所有的信息都在那里,但没有显示出来。我有一种感觉,我没有正确地调用该信息,但我不明白为什么该信息没有定义,如果它存在的话。谢谢你的指导,我是个笨蛋

谢谢

您应该使用循环来表示$result的数据。在这种情况下,只需更换

$product = $result[0]['Product'];
$category = $result[0]['Category'];
$sizes = $category['Size'];
反而

$product = $result['Product'];
$category = $result['Category'];
$sizes = $category['Size']
更新:


也许是这个打字错误:echo$大小['name'];因为您创建了一个$sizes数组,所以您没有指定正在使用的蛋糕的版本。但是,如果是2.x,您可以使用first而不是all。比如$result=$this->Product->find'first',数组。你的观点会起作用。。。谢谢你!使用“第一”有帮助!现在这些大小没有显示出来,但正如AgRizzo指出的,我需要做一个选择下拉列表,我在文档的formHelper部分中读到了这一点。我要去玩那个。再次感谢所有帮助你的朋友!非常感谢。我也要试试!
$product = $result['Product'];
$category = $result['Category'];
$sizes = $category['Size']
foreach($sizes as $size)  {
   echo "<h3>" . $size['name'] . "</h3>";
}