我安装蛋糕3.0在一个数据库以外的公约,所有的表都是大写字母使烘焙返回此错误:
异常:SQLSTATE[42S02]:找不到基表或视图:1146 table'db。c_a_d_b_e_m'不存在于[/var/www/project/vendor/cakephp/cakephp/src/Database/Schema/Collection.php,第130行]
你有办法设置Inflector来识别大写字母的烘焙桌吗?
我发现这在使用非标准表名时非常有用:
$> php bin/cake.php bake model PLURAL_MODEL_NAME_HERE --table NON_STANDARD_TABLE_NAME_HERE
然后,您可以运行模板/控制器
$> php bin/cake.php bake controller PLURAL_MODEL_NAME_HERE
$> php bin/cake.php bake template PLURAL_MODEL_NAME_HERE
不幸的是,如果现有数据源不符合约定,烘焙实用程序无法为您烘焙所有内容。您需要自己创建表对象,并在其中设置自定义表名。因此,对于您所展示的示例,创建一个src/Model/Table/Cadbem。php
文件并设置自定义表名,它是初始化
方法:
namespace App\Model\Table;
use Cake\ORM\Table;
class CadbemTable extends Table
{
public function initialize(array $config)
{
$this->table('CADBEM');
}
}
一旦你有了它,你可以根据这个表对象用烘焙实用程序创建控制器/视图。