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してから、save ステートメントを実行します。

コードは次のようになります。

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 に答える