查询CakePHP中的更新数据

时间:2013-09-30 06:54:29

标签: php mysql cakephp

我是CakePHP&的新手刚学习它,我已经通过save()插入数据,但我不知道如何更新或删除MySQL数据库中的数据。我找到了很多东西,这对我来说是不可理解的..任何人都可以帮助我......

我的ordersController是 -

    class OrdersController extends AppController
    {
var $name = 'Orders';
var $helpers = array('Html', 'Form');
//var $ords = array('id', 'order_no' );

     public function order()
    { 
      $this->set('orders', $this->Order->find('all')); 

    }

    public function add_order()
    { 
                if (!empty($this->data)) {

                if ($this->Order->save($this->data)) {

                $this->redirect('/');
                }

                }
         }


      public function edit()
     { 

/////这是我的页面名称,在这里做什么.. ????

       }

///我的模型订单是 -

      App::uses('Model', 'Model');

     class Order extends AppModel 
      {
   var  $name = 'Order';

       }

//我不知道在视图中的edit.php中要做什么......

提前致谢

1 个答案:

答案 0 :(得分:0)

只需在视图文件夹中创建文件edit.ctp

与你的add.ctp相同

然后在控制器中创建一个编辑功能  像

公共函数编辑($ id = null){      }

现在,从index.ctp中提供指向此edit.ctp的链接        喜欢

 eg.
 <?php echo $this->Html->link(__('Edit'), array('action' => 'edit', $order['Order']['Id'])); ?>

将解决您的目的。

嗨尝试此控制器功能

公共函数编辑($ id = null){

    if (!$this->Order->exists()) {
        throw new NotFoundException(__('Invalid order'));
    }
    if ($this->request->is('post') || $this->request->is('put')) {          

                if ($this->Order->save($this->request->data)) {
            $this->Session->setFlash(__('Your order has been Modified Sucessfully'));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('Your order not been Modified Sucessfully.'));
        }
    } 

            else {
        $this->request->data = $this->Order->read(null, $id);
         }

}