-1

自分が置いたレコードが更新または保存されないことを理解できません。何が悪いのか教えてもらえますか?

これは私のStockController関数ですadd

function add()
{
    if (!empty($this->data['Stocks']))
    {
        if ($this->Stocks->Save($this->data['Stocks']))
        {
            ($this->flash('Your Inventory has been added! /Stocks/'));
        }
    }
}

これはadd.ctpです

 <h1>Add Inventory</h1>    
<form action="<?php echo $this->Html->url("/Stocks/add"); ?>" method="post">    

    <p>    
        ProductName:      
        <?php echo $this->Form->varchar('Stocks/ProductName', array('size' => '40'))?>    
    </p>    
    <p>    
        Price:      
        <?php echo $this->Form->integers('Stocks/Price', array('size' => '10'))?>    
    </p>    
<p>
   Quantity:
   <?php echo $this->Form->integers('Stocks/Quantity', array('size' => '5'))?>
</p>
    <p>    
        <?php echo $this->Form->submit('Save') ?>    
    </p>  

</form>  
4

1 に答える 1

4

使用しているCakePHPのバージョンについては言及しておらず、例には非標準のコードがかなり含まれています。

モデルは特異である必要があります:

function add()
{
    if (!empty($this->data))
    {
        if ($this->Stock->Save($this->data))
        {
            ($this->flash('Your Inventory has been added! /Stocks/'));
        }
        else {
            debug($this->Stock->validationErrors);
        }
    }
}

(私が追加した他の方法では、検証エラーが表示されます)

フォームフィールド名が正しくフォーマットされていません:

h1>Add Inventory</h1>    
  <?php echo $this->Form->create('Stock'); ?>

    <p>    
        ProductName:      
        <?php echo $this->Form->varchar('Stocks.product_name', array('size' => '40'))?>    
    </p>    
    <p>    
        Price:      
        <?php echo $this->Form->integers('Stock.price', array('size' => '10'))?>    
    </p>    
<p>
   Quantity:
   <?php echo $this->Form->integers('Stock.quantity', array('size' => '5'))?>
</p>
    <p>    
        <?php echo $this->Form->submit('Save') ?>    
    </p>  

<?php echo $this->Form->end('Submit'); ?>
于 2012-05-09T14:46:56.530 に答える