この記事では、thinkphp での fetchSql メソッドの使用方法を紹介します。これは一定の参考価値があります。thinkphp を学習している友人に役立つことを願っています。
ThinkPHP での fetchSql メソッドの使用法
以前、SQL デバッグ メソッド getLastSql メソッドまたは別名 _sql () メソッドを学習しましたが、このメソッドでは、最後に正常に実行された SQL ステートメントを取得する必要があるため、このメソッドを使用して SQL をデバッグする場合は、論理エラーのみをデバッグでき、構文エラーのデバッグには使用できません。そのため、ThinkPHP 3.2.3 メソッドの後に新しいメソッドが追加されました。 debug sql: fetchSql();
構文:
$model -> where() -> limit() -> ...->order() -> fetchSql(true) ->CURD操作;
注: FetchSql メソッドは、使用時には完全に補助メソッドと見なすことができるため、モデルの後で CURD 内で操作する必要があります。以前は、順序は重要ではありませんでした。 FetchSql メソッドは、ThinkPHP3.2.3 バージョン以降でのみ使用できます。
写真は ThinkPHP3.2.3 より前のバージョンのマニュアルです。
コントローラーに移動してテストします。
//fetchSql方法 public function test(){ //实例化模型 $model = M('Dept'); //fetchSql方法 $result = $model -> group('name') -> field('name,count(*)') -> fetchSql(true) -> select(); //打印 dump($result); }
結果を表示します。 :
SQL 追跡情報が生成されます:
SQL ステートメントが間違っている場合:
//fetchSql方法 public function test(){ //实例化模型 $model = M('Dept'); //fetchSql方法 $result = $model -> group('name') -> field('name,count(*,,,,,,,//)') -> fetchSql(true) -> select(); //打印 dump($result); }
表示結果:
SQL 追跡情報の結果:
説明: 追跡情報と戻り値を通じて、 fetchSql を使用した後、元のコヒーレント操作は実行されませんが、コヒーレント操作の構文で構成される SQL ステートメントが直接返されます。
(推奨チュートリアル: thinkphp チュートリアル)
以上がThinkPHP での fetchSql メソッドの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。