質問
でバグを見つけたと思います opencart
そのため、注目のモジュールには製品を提案するオートコンプリートボックスがありますが、大量のものがスキップされているようです。コードを調べてみると、すべては次のデータベース クエリに集約されるようです。
SELECT *
FROM calcproduct p
LEFT JOIN calcproduct_description pd ON (p.product_id = pd.product_id)
WHERE pd.language_id = '1' AND LCASE(pd.name) LIKE 'ti %'
GROUP BY p.product_id
ORDER BY pd.name ASC LIMIT 0,20
たとえばクエリを手動で実行すると、次の 2 つの製品があります。
TI | 83 | Brand New
TI | 83 | Like New
そのうちの 1 つだけが見つかり、他の製品でも同様に実行されます。なぜこれが起こるのか誰かに心当たりはありますか?
これは、group by と order by、さらには最初の where 句を取り出したクエリの一部である必要があります。から列を変更してみました utf_8
に latin_1
.
解決 2
表示されなかった製品名の前にスペースがあったことがわかりました
他のヒント
もしそうなら 83
が p.product_id フィールドの場合、これら 2 つの行のうち 1 つだけが取得されます。2 つ以上の行が同じ値を持つグループ化されたフィールドは、1 つの行に折りたたまれます。
所属していません StackOverflow