0

| | 件名 (一意) | 見える |

データがビューから投稿されるとき、データを更新するときに表示される列のみを変更すると、サブジェクトがデータベースに存在することを意味するため拒否されるため、最初に1つのステップを追加してデータを選択し、$_POST['subject']元の行が等しいかどうかを確認してから、表示される列のみを更新する必要があります。
これは正しいですか、それとももっと便利な方法がありますか?

$result = $this->tag_table
    ->where('id', $id)
    ->get()->toArray()[0];
  $subject = $result['subject'];
  if (!empty($result)) {
    $result = $this->tag_table
      ->where('subject', $_POST['subject'])
      ->get()->toArray()[0];
    if (!empty($result) && ($subject != $_POST['subject'])) {
      $error_message = "error_message: tag, duplicate subject exists";
    } else {
      $this->tag_table
        ->where('id', $id)
        ->update(array(
          'visible' => $_POST['visible'],
          'subject' => $_POST['subject'],
        ));
    }
  } else {
    $error_message = "error_message: tag, id not exists";
  }
4

0 に答える 0