更新行具有唯一列

时间:2015-01-17 10:36:41

标签: php mysql illuminate-container

|主题(独特)|可见|

当数据从视图发布时,如果仅在更新数据时更改可见列将被拒绝,因为主题相同意味着存在于数据库中,所以我必须首先添加一步选择数据并检查$_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";
  }

0 个答案:

没有答案