操作
Bug(バグ) #578
完了受信しているはずのメッセージが受信メッセージに表示されない。
開始日:
2010-02-05
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
[QA]バグ通知済:
3.8 で発生するか:
説明
以下の個所で 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);
Shinichi Urabe さんがほぼ15年前に更新
高橋さんに確認しました。
Doctrine化されている9系のバグについては弊社側で責任をもって対応していくとの方針で確認しましたので対応をお願いします。
to 長澤さん
Masato Nagasawa さんがほぼ15年前に更新
上記の修正では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);
Masato Nagasawa さんがほぼ15年前に更新
- 進捗率 を 0 から 50 に変更
以下のリビジョンで修正しました。
http://trac.openpne.jp/changeset/13340
Shinichi Urabe さんがほぼ15年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 担当者 を Masato Nagasawa にセット
Masato Nagasawa さんがほぼ15年前に更新
- ステータス を Pending Testing(テスト待ち) から Pending Review(レビュー待ち) に変更
更新履歴r13340で適用されました。
Shinichi Urabe さんがほぼ15年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
Hiroki Mogi さんがほぼ15年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更
テストを実施しました。問題ありませんでした。
操作