-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SC_Query setOrder() と setLimit() の有効範囲を揃える #1116
Labels
Milestone
Comments
もしも、SC_Product::getListByProductIds() 以外の影響や、むしろ setLimit() を setOrder() に合わせたいなどの意見がありましたら、早めにお知らせいただけますと幸いです。 |
setOrder() と setLimit() いずれも有効範囲が同じであるべきだと思います。 |
seasoftjapan
added a commit
that referenced
this issue
Jan 9, 2025
- getSql() LIMIT, OFFSET に対応。処理は SC_DB_DBFactory::addLimitOffset() に委ねる。 - getSql() 末尾で、句に関わる設定をリセットする。 - setLimitOffset()、setLimit()、setOffset() いずれも、MDB2 のラッパーではなく、getSql() に依存させる。
seasoftjapan
added a commit
that referenced
this issue
Jan 10, 2025
- getSql() LIMIT, OFFSET に対応。処理は SC_DB_DBFactory::addLimitOffset() に委ねる。 - getSql() 末尾で、句に関わる設定をリセットする。 - setLimitOffset()、setLimit()、setOffset() いずれも、MDB2 のラッパーではなく、getSql() に依存させる。
seasoftjapan
added a commit
that referenced
this issue
Jan 10, 2025
- 共通部分 (SC_*) テスト追加 - 先日追加した SC_DB_DBFactory*Test はメンテが煩雑なので抽象化した。
seasoftjapan
added a commit
that referenced
this issue
Jan 10, 2025
- 共通部分 (SC_*) テスト追加 - 先日追加した SC_DB_DBFactory*Test はメンテが煩雑なので抽象化した。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#1097 から派生。
例
実行結果
setLimit() のみ無効となるのは、(狙った挙動というより) MDB2 の処理に依存していそう。
setOrder() を使った影響を回避するため
$objQuery = SC_Query_Ex::getSingletonInstance();
を再実行する実装は散見する反面、setOrder() が維持されるのを期待した実装はほぼ1皆無という認識。よって、setOrder() も一度限りで無効化する方向を軸に考えている。それにより、同一インスタンスで setOrder() など → select() など → delete() の流れで実行するとコケる問題 も回避できると見込んでいる。Footnotes
EC-CUBE 本体ソースを確認すると、唯一 SC_Product::getListByProductIds() に該当が見つかりました。はい、私が実装しました... 影響しないよう調整します。 ↩
The text was updated successfully, but these errors were encountered: