繁体   English   中英

Cakephp表名约定

[英]Cakephp table name convention

我在Joomla有一个现有的网站。 我想在CakePHP使用新的应用程序,但使用相同的现有Joomla站点数据库。

所以这是表名的问题。 请建议我如何使用该表(如market_typelisting_type以单数形式)在Cakephp ,因为在cakephp标准,我们使用复数形式的表。

您可以在模型中定义表名

class Example extends AppModel {
public $useTable = 'exmp'; // This model uses a database table 'exmp'
}

使用Table Cakephp

您还可以向变形器添加自定义规则。 通过这种方式,面包师也会理解你的表名。

// somewhere in your bootstrap.php
Inflector::rules('plural', array('irregular' => array('singular' => 'plural')));

你也可以使用Inflector的方法classify()和tableize()来找出Cake对于给定模型的表名/模型名称的期望。 对您的示例进行简单的逆向工程就可以解释这一点:

    $model = Inflector::classify('market_type');

这会给你

    MarketType

作为预期的型号名称。

因此,表名是:

    Inflector::tableize('MarketType');

这使

    market_types

对于您方案中第一个提到的表。

在CakePHP中使用字符串时,Inflector类有许多有用的方法,请参阅此处的文档: CakePHP 2.x:Inflector

这些实际上是Cake的惯例的正确名称,我强烈建议在使用框架时坚持这一点。

您可以使用模型(您要在其中使用该表)绑定任何表:

public $ useTable ='tablename';

但是在CakePhp表名称约定隐含的关系中是多个模型名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM