我正在使用 cakephp 2.6.9。我有一个名为:chat_info 的表和模型文件:ChatInfo.php 和 ChatInfo 中的类:
<?php
/**
*
*/
class ChatInfo extends AppModel
{
var $name = "chatinfo";
}
?>
但它显示一个错误。我搜索了这个错误,发现这是由于 cakecaphp 中的命名约定违规造成的。但是我在这里做错了什么
我正在使用 cakephp 2.6.9。我有一个名为:chat_info 的表和模型文件:ChatInfo.php 和 ChatInfo 中的类:
<?php
/**
*
*/
class ChatInfo extends AppModel
{
var $name = "chatinfo";
}
?>
但它显示一个错误。我搜索了这个错误,发现这是由于 cakecaphp 中的命名约定违规造成的。但是我在这里做错了什么
如文档中所述:
useTable 属性指定数据库表名。默认情况下,模型使用模型类名的小写复数形式
约定并非旨在成为牢不可破的规则。它们是指导方针,如果遵循这些指导方针,就会使生活更轻松。这并不意味着必须遵循它们。使用useTable
它可以使用任何表名,在这种情况下:
class ChatInfo extends AppModel
{
public $useTable = "chat_info";
}
两个旁白,假设您实际上并没有使用 php4:
var
,使用正在使用的php 版本的特性,即使用public、protected 或private声明变量。如果您将表格从chat_info重命名为chat_infos就可以了
或者,如果您想为表保留该名称,则将其添加到您的模型中:
$useTable = 'chat_info';
并且您的模型将与表 chat_info 相关联(没有复数模式)