Laravel获取更新查询的记录ID

6

对于这个更新查询,我正在尝试在运行后获取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个回答

10

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;

工作正常!谢谢。 - Mostafa Soufi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接