ここ数か月間、CakePHP アプリケーションの開発に取り組んできましたが、ついにインターネット上のテスト サーバー上で稼働させることができました。それを設置してライブにするのはかなり簡単で、ある程度機能します。
サーバーへのデータベース接続があり、アプリはデータベースからデータを取得できます。ただし、一部のページでは、次の行に沿って SQL エラーが返されるようになりました。
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'personel.companyid' in 'where clause'
アプリケーションのエラーかもしれないと思ったので、ローカル コピーを再確認したところ、ローカル コピーは正常に動作しました。次に、テスト サーバーのデータベース スキーマをチェックして、これらのエラーを受け取ったすべてのケースで列が実際に存在するかどうかを確認しました。明らかに不明な列がそこにあり、私のローカル データベースのカーボン コピーが含まれています。
なぜこれが起こっているのか混乱しています。ローカル マシンとテスト サーバーの唯一の違いは、XAMPP セットアップの下で Windows コンピューター上でローカルにサイトを開発し、テスト サーバーが Linux (CentOS) VPS で実行されていることです。
この問題を引き起こしている可能性のあるものは他にありますか?
編集:*
これらは、失敗している 2 つのクエリです。
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'personel.companyid' in 'where clause'
SQL Query: SELECT `Personel`.`id`, `Personel`.`firstname`, `Personel`.`surname`, `Personel`.`email`, `Personel`.`companyid`, `Personel`.`accesslevel`, `Personel`.`poc`, `Personel`.`password`, `Personel`.`telephone`, `Accesslevel`.`id`, `Accesslevel`.`acclevname` FROM `personel` AS `Personel` LEFT JOIN `accesslevels` AS `Accesslevel` ON (`Personel`.`accesslevel` = `Accesslevel`.`id`) WHERE `personel`.`companyid` = 1
そしてこれ:
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'personel.companyid' in 'where clause'
SQL Query: SELECT `Personel`.`id`, `Personel`.`firstname`, `Personel`.`surname`, `Personel`.`email`, `Personel`.`companyid`, `Personel`.`accesslevel`, `Personel`.`poc`, `Personel`.`password`, `Personel`.`telephone`, `Accesslevel`.`id`, `Accesslevel`.`acclevname` FROM `personel` AS `Personel` LEFT JOIN `accesslevels` AS `Accesslevel` ON (`Personel`.`accesslevel` = `Accesslevel`.`id`) WHERE `personel`.`companyid` = 1