注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
プレースホルダを使ったSQLは実行後のクエリログを参照すれば実際に流したSQLの全文が取得できますが、... プレースホルダを使ったSQLは実行後のクエリログを参照すれば実際に流したSQLの全文が取得できますが、実行前はそうもいきません。 さて、こういう時どうするかと考えた結果です。 CakePHP3.5 & MySQLで確認。 クエリ実行前はQuery::sql()でバインド用の名前付きパラメータがついた状態のクエリが取得できますが、PDOのプリペアドステートメントを使用している都合、実行前はそのままコピペして実行できるようなパラメータ置換済みのクエリは取得できません。 ちなみに実行後は公式のドキュメントの通りログに出力できるので、ロガーに引っ掛ければどうにかなると思います。 じゃあ実行前はどうなのかと、調べてもやっぱ無理っぽいので以下の通り自力で置換しました。 今のところこれで足りてますが、合ってるか分からないので使いたい方はよく注意して使ってください(^_^.) use Cake\ORM\Q
2019/08/20 リンク