問題が発生しましたが、解決方法がわかりません。
テーブルがあります。orders
クライアントは、「承認されていない」注文のみを表示したいと考えています。
まず、簡単だと思ったfind('order_status!='=>'approved' )
...
データベースエラーを表示する
1064 - SQL 構文にエラーがあります。'Order IN ('12', NULL, '', NULL, '08/22/2012', 'Yes', 'No', NULL, ' \r\n test da' 1 行目
何度も失敗した後(関連するすべてのテーブルを削除し、構文をチェックし、phpadminでsqlを書き込みます)
問題は Order が予約語であり、Cakephp が自動的にエイリアンを順序として設定することだと思いました。
そこで、クエリ $this->Order->query("SELECT * FROM orders where order_status = 'approved';"); を使用しました。別のエラーが発生しました:
エラー: SQLSTATE [42S22]: 列が見つかりません: 1054 不明な列 'orders' in 'where 句'
orders
実際、CakePHP は「... FROM AS Order...
」と同じことを行います。
from url : /orders?order_status=approved、動くのですが、「!=approved」の表現がわかりません
修正方法は?注文テーブルの名前を変更したくありません。