cakephp在数据源默认值中找不到模型表

use*_*579 4 php mysql cakephp

我的数据库上只有一个名为"ficha_seg"的表.我的模型文件的名称是"Ficha.php",控制器的名称是"FichasController.php".

那么,为什么我收到错误:

Error: Table fichas for model Ficha was not found in datasource default.
Run Code Online (Sandbox Code Playgroud)

配置我的index()方法后,控制器如下:

 public function index() {
    $this->set('ficha_seg', $this->Ficha->find('all'));
}
Run Code Online (Sandbox Code Playgroud)

nIc*_*IcO 23

默认情况下,模型使用模型的类名称的小写,复数形式作为数据库表名.

如果需要为模型使用其他表名,可以使用以下useTable属性:

class Ficha extends AppModel 
{
    public $useTable = 'ficha_seg';
}
Run Code Online (Sandbox Code Playgroud)

请参阅食谱中的http://book.cakephp.org/2.0/en/models/model-attributes.html#usetable模型约定


Alv*_*aro 5

要遵循CakePHP约定,您的表名应为复数形式:ficha_segs并且您的模型名称应为"FichaSeg".

如果您不想出于任何原因关注它,请执行@nlcO所说的话.