2017-09-07 3 views
0
public function orgPurokEdit($orgId, $purok, $newPurokName) 
    { 
     $updated = Data::where('org_id', $orgId) 
     ->where('purok', $purok) 
     ->update(['purok' => $newPurokName]); 

     if($updated){ 
      $this->success = true; 
     }else 
     { 
      $this->errors = "Not updated"; 
     } 

     return response()->json([ 
      'success' => $this->success, 
      'errors' => $this->errors 
     ]); 
    } 

이것은 코드이지만 데이터를 업데이트하지 않았습니다. 이 문제가 있습니까? 도움에 미리 감사드립니다.Laravel에서 업데이트 할 수 없습니다.

+2

그것은'TRUE '또는'updated' 수 없음을 반환? – Jackowski

+0

채우기 가능한 배열에 열을 추가 했습니까? –

+0

return.success = false를 반환합니다. – Jen143

답변

1

Laravel 업데이트를 통해 UR 조건에 일치하는 행이없는 경우 업데이트 기능이 경우에도 0을 반환합니다 에게 즉,을 수정 된 쿼리가 제대로 여부를 실행 한하지 않을 경우 행의 수를 반환 그것을 예외 나 오류가 발생하지 않았습니다.

그래서 당신의 상태와 일치하는 행이 있는지 당신이에 의해 가지고 얼마나 많은 행을 검사하고의 알려합니다 :

$count = Data::where('org_id', $orgId)->where('purok', $purok)->count(); 

를 그 다음 업데이트 쿼리가 확실히 작동 큰 공보다 더 있다면.

코드를 넣을 수있는 더 좋은 방법은 다음과 같습니다
public function orgPurokEdit($orgId, $purok, $newPurokName) 
    { 
     $query = Data::where('org_id', $orgId)->where('purok', $purok); 

     if($query->count() == 0){ 
      //There are no entries to update 
     }else 
     { 
      $updated = $query->update(['purok' => $newPurokName]); 
      // $updated."rows has been updated"; 
     } 
    } 

는 희망이 도움 :)

관련 문제