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