2017-01-13 3 views
3

이 업데이트 쿼리의 경우 실행 후 ID를 얻으려고합니다.Laravel 업데이트에서 레코드 ID 가져 오기 쿼리

$results = DB::table('testDB123.users') 
    ->where('fbID', '=', $x['id']) 
    ->update([ 
      'updated_at' => $x['currDate'], 
      'fbFirstName' => $x['firstName'], 
      'fbLastName' => $x['lastName'] 
     ] 
    ); 

는 행운 $results->id

업데이트 쿼리에 대한 insertGetId 유사 있나요 이것을 시도?

$id = DB::table($table1)->insertGetId([...]) 

답변

3

update() 방법은 객체를 반환하지 않습니다, 그래서 당신은 두 가지 옵션이 있습니다

옵션 1

사용 updateOrCreate() :

$user = User::updateOrCreate(['fbID' => $x['id']], $dataArray); 
$id = $user->id; 

옵션 2

개체 가져 오기 및 업데이트 :

$user = User::where('fbID', '=', $x['id'])->first(); 
$user->update($dataArray); 

$id = $user->id; 
관련 문제