0

我在 CakePHP 的 AppModel 中有这个功能(这用于在 CakePHP 中安装初始数据) 但是,我似乎无法让它保存我的数据,并且我没有收到任何错误。

这是我在 App/Model/AppModel.php 中的函数:

public function importData() {
$initialOptionData = array(
array( 'Option' => array( 'name' => 'version', 'value' => '1.0.0', )),
array( 'Option' => array( 'name' => 'site-name', 'value' => 'Site Title', )),
    );
$this->create();
$this->saveMany($initialOptionData);
}
4

2 回答 2

2

从您发布的代码看来,您正在尝试将数据保存到options表中,为此您需要使用Option模型。

但是你的代码在里面AppModel,所以首先导入Option模型,然后执行你的保存语句。

您的代码应如下所示:

public function importData() {

  $initialOptionData = array(
       array( 'Option' => array( 'name' => 'version', 'value' => '1.0.0', )),
       array( 'Option' => array( 'name' => 'site-name', 'value' => 'Site Title', )),
    );

   App::import('model','Option');  // Import the Option Model
   $Option = new Option();  // create instance of Option class

   // save statements

   $Option->create();
   $Option->saveMany($initialOptionData);

}

笔记

app/model/Option.php如果您在文件中编写代码,您正在尝试的代码将起作用。

于 2012-09-13T08:00:30.627 回答
0

我想将值存储为模型属性就足够了。无需致电$this->save...

public $initialOptionData = array(
  array( 'Option' => array( 'name' => 'version', 'value' => '1.0.0', )),
  array( 'Option' => array( 'name' => 'site-name', 'value' => 'Site Title', )),
);

所有模型都将继承 initialOptionData...

于 2012-09-13T07:44:59.797 回答