3

我想写一个插件,它有自己的数据库表。我没有从 schema.php 文件创建表,而是手动创建它们。然后我想为那个插件烘焙模型。但我也希望 cake bake shell 能够识别带前缀的表名并理解它们属于该插件,因此只有带前缀的表才会显示在 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 回答