0

私のコードに問題はありません。ただし、データは保存されません。

<?php
    class ProductsController extends AppController{
        var $name = 'Products';
        //var $helpers = array('Form');
        //var $scaffold;

        function index(){
            $this->Product->recursive = 1;
            $products = $this->Product->find('all');
            $this->set('products',$products);
            //pr($products);
        }

        function add(){
            $categories = $this->Product->Category->find('list',array(
                'field'=>array('Category.categoryName')
            ));
            $this->set('categories',$categories);

            if(!empty($this->data)){
                if($this->Product->save($this->data)){
                    $this->Session->setFlash('Saved');
                }
            }


        }
    }
?>

「保存済み」と点滅しますが、テーブルには何も挿入されていません。正常に機能しているはずなのに、何が間違っている可能性がありますか。:(

以下は私のadd.ctpモデルです:

<h2>ADD</h2>

<?php echo $this->Form->create('Product',array('action'=>'add')); ?>
<?php
    echo $form->input('ProductName');
    echo $form->input('categories');
    echo $form->end('DONE');
?>
4

1 に答える 1

1

保存する前に create() メソッドを使用する必要があります

function add(){
        $categories = $this->Product->Category->find('list',array(
            'field'=>array('Category.categoryName')
        ));
        $this->set('categories',$categories);

        if(!empty($this->data)){

            $this->Product->create();
            if($this->Product->save($this->data)){
                $this->Session->setFlash('Saved');
            }
        }


    }
于 2012-06-19T11:52:35.633 に答える