찾다

 >  Q&A  >  본문

Laravel - 모델 관계를 다른 모델로 업데이트

<p>이벤트 모델과 환자 모델 사이에는 다대다 관계가 있습니다. 한 사건에 여러 환자가 연루될 수도 있고, 한 환자가 여러 사건에 연루될 수도 있습니다. </p> <p>사용자가 환자 모델의 복사본을 만드는 경우 두 환자 모델을 하나로 병합할 수 있기를 원합니다. 이는 피벗 테이블의 다른 속성을 포함하여 환자 1과 관련된 이벤트를 환자 2로 이동하고 싶다는 의미입니다. </p> <p>간단한 것들을 시도해보았습니다</p> <pre class="brush:php;toolbar:false;">Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);</pre> <p>그러나 그것은 효과가 없습니다. <code>updateOnExistingPivot()</code> 메서드를 사용한다는 것은 환자 1에 대한 각 이벤트를 반복하고 별도의 데이터베이스 쿼리를 실행하여 환자를 환자 2로 업데이트해야 함을 의미합니다. </p> <p>저도 이렇게 기록 업데이트를 해보았습니다</p> <pre class="brush:php;toolbar:false;">$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);< /pre> <p>이벤트 테이블에 <strong>patent_id</strong> 열이 없기 때문에 이 방법도 작동하지 않습니다. </p> <p>이를 어떻게 달성할 수 있나요? 아니면 제가 뭔가 잘못하고 있는 걸까요? </p>
P粉674999420P粉674999420438일 전476

모든 응답(1)나는 대답할 것이다

  • P粉244155277

    P粉2441552772023-09-02 19:09:51

    무슨 뜻인지 이해가 잘 안 가는데, 같은 사건에 더 많은 환자를 연관시키고 싶으신가요? belongsToMany 关系并创建一个数据透视表。然后,当您想要更新数据时,只需使用 sync 방법을 사용할 수 있습니다.

    또한 json_encode()를 사용하여 사용자 ID만 포함하는 열에 저장하고 나중에 검색할 수도 있습니다.

    죄송합니다. 문제가 잘 설명되지 않아 더 많은 정보를 제공할 수 없습니다.

    회신하다
    0
  • 취소회신하다