操作
Bug(バグ) #3202
完了ActivityDataTable::updateActivity() メソッドで画像付きのアクティビティが作成できない
開始日:
2012-09-14
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)
説明
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 さんが約12年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 ae0f61b485afabdeac7a17c4c174c67eb93be789 で適用されました。
Shinichi Urabe さんが約11年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです
操作