4

CakePHP バージョン 2.2.3 を使用しています。データベースを PHPMyAdmin にインポートしたら、CakePHP のベイク コンソールを使用して MVC を作成しました。これはすべてうまくいきました、私は私の関係などを宣言しました...

この問題は、最後の「ビュー」の作成時に発生します (すべてのモデル/コントローラーはエラーなしで作成されました)。

完全なエラーは次のとおりです: エラー: SQLSTATE[42S02]: ベース テーブルまたはビューが見つかりません: 1146 テーブル 'website.connections' が存在しません

テーブル、コントローラー、モデル、ビューの両方が存在することを確認できます。

私は非常に混乱しています。どんな助けでも大歓迎です。

よろしくお願いします。

アップデート

「メンバー」モデルで、接続に関連する「多数」コードをコメント アウトすると、その下の次の関係に対してエラーが表示されます。関係コードは次のとおりです。

public $hasMany = array(
    'Connections' => array(
        'className' => 'Connections',
        'foreignKey' => 'Member_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    ),
    'Recommendations' => array(
        'className' => 'Recommendations',
        'foreignKey' => 'Member_Being_Recommended_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    ),
    'Groups' => array(
        'className' => 'Groups',
        'foreignKey' => 'Member_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    )
);

したがって、「接続」関係がコメント化されると、エラーはその下の推奨事項に移動します。

4

2 に答える 2

7

CakePHP の規則に従って、すべてのモデル名は複数形ではなく単数形にする必要があるため、最初に修正する必要があります。

于 2012-10-19T06:36:58.157 に答える
0

繰り返して申し訳ありませんが、アプリが接続されているデータベースでテーブル (website.connections) が見つからないため、このエラーが発生しています。

この問題のトラブルシューティングに役立つヒントを次に示します。

  1. PHPMyAdmin を使用して、テーブル (接続) が存在し、それがデータベース (Web サイト) にあることを確認します。共有ホスティングを使用している場合、データベース名には制御できないプレフィックスが含まれている場合があります (例: yourusername_website)。

  2. 正しいデータベース ( config docs ) に接続していることを確認してください。

  3. テーブルを使用しない Connection という名前のモデルがある場合は、必ず追加public $useTable = false;してください。

于 2012-10-16T01:53:06.797 に答える