5

データベースに「ficha_seg」という名前のテーブルがあります。モデルファイルの名前は「Ficha.php」で、コントローラーの名前は「FichasController.php」です。

だから、なぜ私はエラーが発生するのですか?

Error: Table fichas for model Ficha was not found in datasource default.

次のようにコントローラーのindex()メソッドを構成した後:

 public function index() {
    $this->set('ficha_seg', $this->Ficha->find('all'));
}
4

2 に答える 2

24

デフォルトでは、モデルはデータベーステーブル名にモデルのクラス名の小文字の複数形を使用します。

モデルに別のテーブル名を使用する必要がある場合は、次のuseTable属性を使用できます。

class Ficha extends AppModel 
{
    public $useTable = 'ficha_seg';
}

クックブックのhttp://book.cakephp.org/2.0/en/models/model-attributes.html#usetable およびモデルの規則を参照してください。

于 2012-11-22T11:20:06.737 に答える
5

CakePHPの規則に従うには、テーブル名は複数形である必要がficha_segsあります。モデル名は「FichaSeg」である必要があります。

なんらかの理由でフォローしたくない場合は、@nlcOの言うことを実行してください。

于 2012-11-22T11:22:59.873 に答える