この記事の例では、thinkphp ビュー モデルのクエリ失敗プロンプト「ERR: 1146: Table 'db.pr_order_view' が存在しません」に対する解決策を説明します。参考のためにみんなで共有してください。具体的な方法は以下の通りです
1. 問題の説明:
thinkphp のビュー モデルを使用して関連するクエリを実行したいのですが、結果は次の問題 (ログ レコード) になります。 ERR: 1146: テーブル 'db.pr_order_view' が存在しません。なぜビュー モデルによって生成された SQL が存在しないのでしょうか。このように、ビューモデルは次のようになります:
2. 解決策:
たくさんのマニュアルとBaiduを読みましたが、$Form = D('Admin/OrderView');を呼び出すことに問題はありませんでした(私はここでグループ化を使用しました)。元のビューのモデル名が間違っています。OrderView.class.php です。通常は OrderViewModel.class.php である必要があります。
ThinkPHP 初心者は、このような愚かな間違いをしないように特に注意してください。
この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。
問題が発生しやすいため、接続に対して集計操作を実行することはお勧めできません。つまり、ユーザーの消費量が直接同期され、このフィールドの値が増加します。ユーザーが消費するとき。
または、SQL ルームの注文とケータリングの注文を別々に書きます。そうしないと、ネストされるだけなので、必要ないようです
渡したものは「RJ1」、M(「RJ1」)、Mメソッドはクラス名を渡し、thinkphpはクエリ時にクラス名をテーブル名に変換します。ルールは、テーブルの接頭辞 +_大文字と小文字
+_大文字と小文字です。 たとえば、AbcDef は、caiyy_abc_def のようにテーブル名に変換されます。これを小文字に変更しても問題ありません。 "/Index
/addsoft/rj1" 、プログラムに別のエラーがあります:
$Form =M($soft);$Form->create();
これは D($soft) のオブジェクトのみが作成されるはずです。 D関数でcreateメソッドを用意します