3

独自のデータベース テーブルを持つプラグインを作成したいと考えています。schema.php ファイルからテーブルを作成せずに、手動で作成します。次に、そのプラグインのモデルをベイクしたいと思います。しかし、シェルのオプションに接頭辞付きのテーブルのみが表示されるように、cake bake shell が接頭辞付きのテーブル名を認識し、それらがそのプラグインに属していることを理解することも必要です。

明確にするために、プラグインには独自のスキーマがある場合があります。そのため、異なるプラグインのテーブル名が競合する場合があります。競合を避けるために、テーブルプレフィックスを使用できると思います。CakePHP プラグインにテーブルプレフィックスを使用することは可能ですか? 答えが「はい」の場合、プラグインのテーブル プレフィックスを構成するにはどうすればよいですか? 私の好みは、 app/Config/database.php ファイルに触れないことです。代わりに、プラグイン自体で構成を設定することをお勧めします。

PS私はCakePHP 2.4.1を使用しています

4

2 に答える 2

1

プラグイン モデルで使用$tablePrefixします。

<?php
// Plugin/Example/Model/ExampleAppModel.php

App::uses('AppModel', 'Model');
class ExampleAppModel extends AppModel {

/**
 *  Table prefix
 */
    public $tablePrefix = 'example_';
}

次に、Example プラグインのすべてのモデルで example_ プレフィックスが使用されます

于 2013-10-20T13:07:18.433 に答える
0

それを理解するのにしばらく時間がかかりました。ドキュメントではあまり明確ではありませんでした。

デフォルトのデータベースで毎回変更する必要はありません。

app/Config/database.php にプレフィックスを含むデータベース接続を追加し、ベイク時に選択するだけです。

利用可能な場合は、コマンドでデータベースを示す --connection, -c パラメータを使用します (bake のヘルプを参照してください)。

于 2015-07-09T03:22:11.360 に答える