Bug(バグ) #578
完了
受信しているはずのメッセージが受信メッセージに表示されない。
Masato Nagasawa さんがほぼ15年前に追加.
14年以上前に更新.
説明
以下の個所で is_send が true の場合に表示するようにしていますが、正しい動作になっていません。
plugins/opMessagePlugin/lib/model/doctrine/PluginMessageSendListTable.class.php
28 ->andWhere('message_id IN (SELECT id FROM SendMessageData WHERE is_send = ?)', true);
以下のように修正するのが良いのではないかと思います。
->andWhere('SendMessageData.is_send = ?', true);
高橋さんに確認しました。
Doctrine化されている9系のバグについては弊社側で責任をもって対応していくとの方針で確認しましたので対応をお願いします。
to 長澤さん
上記の修正ではJOINしていまうため修正方針を変更します。
そもそも表示できなくなる原因は、サブクエリの取得で明示的にテーブル名を指定してないのが原因でした。
以下が発行されるSQLです。
SELECT COUNT(*) AS num_results FROM (SELECT m.id FROM message_send_list m WHERE m.member_id = '1' AND m.is_deleted = 0 AND m.message_id IN (SELECT m.id AS m__id FROM message m2 WHERE (m2.is_send = 1)) GROUP BY m.id) dctrn_count_query
この SQL では SELECT で返される id が常に messe_send_list の id になってしまいます。
修正後のコード:
->andWhere('message_id IN (SELECT m2.id FROM SendMessageData m2 WHERE m2.is_send = ?)', true);
- プロジェクト を OpenPNE3 Plugins から opMessagePlugin に変更
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 担当者 を Masato Nagasawa にセット
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- ステータス を Pending Testing(テスト待ち) から Pending Review(レビュー待ち) に変更
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更
他の形式にエクスポート: Atom
PDF