我想编写一个插件,它有自己的数据库表。如果不从schema.php文件创建表,我手动创建它们。然后我想为该插件烘焙模型。但我也希望cake bake shell能够识别前缀表名并理解它们属于该插件,因此只有前缀表显示在shell的选项中。
为了澄清,插件可能有自己的架构。因此,有时不同插件的表名可能会发生冲突。为了避免任何冲突,我想可以使用表前缀。是否可以使用CakePHP插件的表前缀?如果答案是肯定的,那么如何为插件配置表前缀?我的偏好是不要触摸app / Config / database.php文件。相反,最好在插件本身中设置任何配置。
P.S。我正在使用CakePHP 2.4.1
答案 0 :(得分:1)
在插件模型中使用$tablePrefix
:
<?php
// Plugin/Example/Model/ExampleAppModel.php
App::uses('AppModel', 'Model');
class ExampleAppModel extends AppModel {
/**
* Table prefix
*/
public $tablePrefix = 'example_';
}
然后,Example插件中的所有模型都将使用example_ prefix
答案 1 :(得分:0)
我花了一段时间来搞清楚。我在文档中没有发现它非常清楚。
无需每次在默认数据库中更改它。
只需在app / Config / database.php中添加包含前缀的数据库连接,并在烘焙时选择它。
如果可用,请使用--connection,-c参数在命令中指示您的数据库(请参阅bake&#39; s帮助)