2016-08-02 2 views
1

관계 모달의 모든 레코드를 업데이트하는 데 문제가 있습니다. 대신 하나의 모델 만 모든 레코드를 업데이트합니다. 업데이트 될 각 레코드가 필요합니다.관계 문제 업데이트

"소매 업체"가있는 MODEL이 있는데이 모델은 "위치"모델과 hasMany 관계가 있습니다. 위치 모델 belongsTo 대리점 모델입니다.

위치 모델에는 소매 업체의 주소가 있습니다. 일부 소매점에는 많은 위치 (주소)가 있습니다. 나는 많은 해결책을 시도했지만 어떤 것도 효과를 발휘하지 못하는 것 같습니다. 유일한 해결책은 첫 번째 레코드를 업데이트하는 first();을 사용하는 것이지만 모든 주소 레코드를 업데이트해야합니다. 나는 정말로 내 머리카락을 찢어 버리고 4 일 동안 계속 붙어있다. 나는 문자 그대로 자살 할 준비가되어있다. 도움이 필요해. 부디. 당신이처럼 관계에 갱신() 방법을 사용해야합니다 관련된 모든 위치 기록을 갱신하기 위해

public function update(Request $request, $id) 
{ 
    $location = $request->only(
     'street_number', 
     'street_address', 
     'city', 
     'state', 
     'postcode', 
     'country', 
     'longitude', 
     'latitude', 
     'country_code' 
    ); 

    $insert = Location::where('id', $id); 
    $insert->update($location); 

    return Redirect::route('retailers.edit', $id) 
     ->withInput() 
     ->withErrors($validation) 
     ->with('message', 'There were validation errors.') 
    ; 
    } 
+0

업데이트하는 '모든'주소가 필요합니다 (위치) 기록? – lagbox

답변

0

다음

$updatedLocationData = [ 
    'country_code' => 123 
]; 

$retailer->locations()->update($updatedLocationData);