Laravel从更新查询中获取记录ID

时间:2017-01-13 00:03:28

标签: mysql 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([...])

1 个答案:

答案 0 :(得分:2)

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;