2017-02-02 1 views

답변

0

모델이 테이블에서 데이터를 읽을 때 '원본'및 '속성'배열에는 동일한 데이터가 포함됩니다. 속성 값 (ex $ user-> name = 'John')을 변경하면 변경 내용은 'attributes'배열에만 반영되지만 'original'은 그대로 유지됩니다. (따라서 이름).

모델의 update()가 호출되면 메서드는 두 배열을 비교하여 변경된 내용을 확인하고 변경된 필드에 대해서만 쿼리를 생성합니다.

UPDATE users set name = 'John', password = 'pass', email = 'email' where id = 1 

그러나이 : ​​

UPDATE users set name = 'John' where id = 1 

이 유일한 방법 웅변 사용 ''원래 배열되지 않을 수도 있습니다 따라서, $ 사용자 -의 경우> 이름 변경 Laravel이 코드를 작성하지 않습니다. clockwork은 Eloquent의 두포에서 무슨 일이 일어나는지 알아야 할 때 유용합니다.