2015-04-23 76 views
0

我在公约之外的数据库安装蛋糕3.0,所有的表都是以大写字母进行烘烤回报这个错误:烘烤表用大写

例外:SQLSTATE [42S02]:基表或视图不发现:1146 [/var/www/project/vendor/cakephp/cakephp/src/Database/Schema/Collection.php,line 130]中不存在表'db.c_a_d_b_e_m'

你有什么办法设置Inflector以大写字母标识烘焙表?

回答

2

不幸的是,如果现有数据源不遵循约定,那么烘焙工具不能为您烘烤所有东西。您需要自己创建Table Objects,并在其中设置自定义表名称。因此,对于你的例子中,创建一个src/Model/Table/Cadbem.php文件和设置自定义表名了,它被initialize方法:

namespace App\Model\Table; 

use Cake\ORM\Table; 

class CadbemTable extends Table 
{ 

    public function initialize(array $config) 
    { 
     $this->table('CADBEM'); 
    } 

} 

一旦你有,你可以创建控制器/在此基础上与烘焙工具查看表对象。

+0

感谢您的帮助, 我按照您的建议创建了表格对象,但仍然出现错误。 – felipesmendes

+0

你使用了什么烘烤命令? – Oldskool

+0

在linux上运行cake3的bin文件夹运行./cake烘焙模型CADBEM – felipesmendes