我在Joomla
中有一个现有网站。我希望在CakePHP
中使用相同的现有Joomla站点数据库的新应用程序。
所以这是表名的问题。请建议我如何在market_type
中使用该表(例如listing_type
,Cakephp
以单数形式),因为在cakephp
标准中我们使用复数形式的表格。
答案 0 :(得分:9)
您可以在模型中定义表名
class Example extends AppModel {
public $useTable = 'exmp'; // This model uses a database table 'exmp'
}
答案 1 :(得分:2)
您还可以向变形器添加自定义规则。通过这种方式,面包师也可以理解你的表名。
// somewhere in your bootstrap.php
Inflector::rules('plural', array('irregular' => array('singular' => 'plural')));
答案 2 :(得分:2)
你也可以使用Inflector的方法classify()和tableize()来找出Cake期望作为给定模型的表名/模型名称。对您的示例进行简单的逆向工程就可以解释这一点:
$model = Inflector::classify('market_type');
会给你
MarketType
作为预期的型号名称。
因此,表名是:
Inflector::tableize('MarketType');
给出了
market_types
表示您方案中第一个提到的表格。
在使用CakePHP中的字符串时,Inflector类有许多有用的方法,请参阅此处的文档: CakePHP 2.x: Inflector
这些实际上是Cake公约的正确名称,我强烈建议在使用框架时坚持这一点。
答案 3 :(得分:0)
您可以使用模型(您要在其中使用该表)绑定任何表:
但是在cakePhp表名称约定中隐含的关系是模型名称的复数。