如何通过组件保存数据在cakephp中

时间:2015-10-02 06:46:01

标签: php cakephp

我想通过在cakephp中使用组件来存储数据

我的组件名称是UpdatedateComponent:

<?php
class UpdatedateComponent extends Component
    {   
        public function clean($string)
            {
                $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
                return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
            }

        public function updatedatefunction($proid,$edit,$model1,$model2,$field)
            {
                if ($this->request->is(array('post', 'put'))) {
                    $this->$model1->$model2->id = $edit;
                    $this->request->data[$model2][$field] = $proid;
                    date_default_timezone_set('Asia/Kolkata');
                    $date = date('Y/m/d H:i:s');
                    $this->request->data[$model2]['cganges'] = $date;
                    $this->$model1->$model2->save($this->request->data);
                } 
            }
    }
?>

我的控制器名称为SlidermasterControler

我这样称呼这个组件

  

$这 - &GT; Updatedate-&GT; updatedatefunction($ proid,1,&#39; Slidermaster&#39;&#39; Homesliderchangemaster&#39;&#39; slidermaster_id&#39);

但未存储数据

1 个答案:

答案 0 :(得分:0)

您无法直接从组件访问模型,因为组件旨在为控制器执行一些常见任务。

要从组件中访问模型,您需要先访问控制器实例,然后再访问相应的模型。

$this->controller->ModelOne->ModelTwo-save($data);