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

xx7*_*7xx 5 mysql laravel

对于此更新查询,我尝试在运行它后获取ID。

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

试过这个没有运气 $results->id

是否有与insertGetId更新查询类似的内容?

$id = DB::table($table1)->insertGetId([...])
Run Code Online (Sandbox Code Playgroud)

Ale*_*nin 7

update() 方法不返回对象,因此您有两个选择:

选项1

使用updateOrCreate()

$user = User::updateOrCreate(['fbID' => $x['id']], $dataArray);
$id = $user->id;
Run Code Online (Sandbox Code Playgroud)

选项 2

获取一个对象并更新它:

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

$id = $user->id;
Run Code Online (Sandbox Code Playgroud)