操作
Backport(バックポート) #3399
完了ActivityDataTable::updateActivity() メソッドで画像付きのアクティビティが作成できない
開始日:
2012-09-14
期日:
進捗率:
100%
予定工数:
説明
Overview (現象)¶
ActivityDataTable::updateActivity() メソッドには、オプションとして file_id を含む配列を渡すことで画像付きのアクティビティを作成する機能があるが、このオプションを使用すると下記のようなエラーが発生してしまう。
SQLSTATE[23000]: Integrity constraint violation: 19 activity_image.mime_type may not be NULL, referer: http://sns.localhost:18080/sqlite/
Causes (原因)¶
$activityImage = new ActivityImage();
if (isset($image['file_id']))
{
$activityImage->setFileId($image['file_id']);
}
elseif (isset($image['uri']) && isset($image['mime_type']))
{
$activityImage->setUri($image['uri']);
$activityImage->setMimeType($image['mime_type']);
}
ActivityDataTable::updateActivity() メソッド内の images オプションを扱う上記のコードで、file_id をオプションに指定した画像について activity_image.mime_type の値が設定されておらず、activity_image テーブルの NOT NULL 制約によってエラーが発生している。
Way to fix (修正内容)¶
添付される画像の MIME タイプを file テーブルから取得し activity_image.mime_type にセットする。
Youichi Kimura さんが11年以上前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 9463889459c77ed74b29c5784007e914810ff378 で適用されました。
Shinichi Urabe さんが11年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです
Mutsumi Imamura さんが11年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
#3075 の試験が完了しましたので本チケットも完了と致します。
操作