1

也许这是一个简单的问题,但我没有在食谱中找到它。当一些复数词的名称带有“ies”时,我感到很困惑

示例:城市 -> 城市

  • 控制器:城市控制器

  • 表:城市表

  • 型号:城市???还是城铁???

现在,当我运行应用程序时,两者都出错了。错误未找到型号名称。

感谢您的任何回答,如果我的英语太糟糕,我们深表歉意。


2016 年 6 月 28 日更新我找到了解决方案。事实上,我只是保留了他们的名字:

  • 控制器:src/Controller/CitiesController.php 中的CitiesController

  • 表:src/Model/Table/CitiesTable.php 中的CitiesTable

  • 模型或实体:src/Model/Entity/City.php 中的城市

这个对我有用。

谢谢大家。

4

2 回答 2

1

控制器/实体/表名称的一般用途是名词的单数形式(在您的情况下CityControllerCityTableCity)。这消除了单数和复数之间的混淆。

另一个好的做法是,您在 DB 中的表以它们所代表的实体的单数命名(例如,您的表是city,因此您的表类应该称为“CityTable”)。因此,您始终可以将源中的信息与数据库中的表关联起来。

于 2016-07-08T13:55:40.357 回答
0

2016 年 8 月 11 日更新

大家好,

很抱歉很久才回答这个问题。我很忙。我发现了我的答案。我没有只使用“城市”表。我改用“m_cities”。(M 表示大师)。所以我所有的文件和类名都是:

模型 > 实体:

MCity.php 

班级:

class MCity extends Entity{
... 
}

模型 > 表

MCitiesTable.php

班级:

class MCitiesTable extends Table
{
...  
}

在文件 MCity.php 中的 MCity 类中。我使用以下内容定义了初始化,以声明 CakePHP 的表名,了解我的表名。

parent::initialize();
//Define used table name in database
$this->table('m_cities');

所以这堂课的最终内容是:

class MCity extends Entity
{
    public function initialize(array $config)
    {
        parent::initialize();
        //Define used table name in database
        $this->table('m_cities');

    }//end initialize

}//end class

到目前为止,我的项目一切正常。因为有人没有在帖子中看到我的更新,所以我重新更新作为搜索人的答案。

谢谢你们。

于 2016-08-11T03:58:29.923 回答