我在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);
}
答案 0 :(得分: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
文件中写下代码,那么您正在尝试的代码将会有效。
答案 1 :(得分: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 ...