2

レールのようにデータベースを「シード」することは可能ですか? タイトルでレコードを取得できるように、シードをイメージ オブジェクト マネージャーと組み合わせて使用​​したいと考えています。

4

3 に答える 3

7

Ingo の回答に残されたコメントに基づいてrequireDefaultRecords()、ページ クラスにメソッドを追加します。

DataObject以下は最近のプロジェクトからのもので、特定のユーザー グループが存在することを確認しますが、任意のタイプ(例: )で同じことができますPage

public function requireDefaultRecords() {

    // Make sure there is a readers security group
    $group = Group::get('Group')->filter('Code', 'readers')
    if ( !$group->exists() ) {
        $group = Group::create(array('Title' => 'Readers'));
        $group->write();
    }
}

この関数はDataObject、ビルド時にすべてのクラスで実行されます。

于 2013-01-23T04:17:05.697 に答える
1

配列$dbを設定することで、ページ変数のデフォルト値を設定できます。$defaults

class Page extends SiteTree {

    public static $db = array(
        'Title' => 'Text',
        'Description' => 'Text'
    );

    public static $defaults = array(
        'Title' => 'Default Title',
        'Description' => 'Default Description'
    );

    ...
}
于 2013-01-22T00:04:01.007 に答える
0

このコンテキストでの「シード」の意味がよくわかりません。ORM 列の型に関する知識に基づいた推測でランダム データを書き込む「データ ジェネレーター」モジュールがあります。

于 2013-01-21T15:58:21.787 に答える