Laravel 5.5向我显示错误消息:
调用未定义的方法stdClass :: update()
表示模型
中的以下代码DB::table('adminUserLogs')
->where('adminUserId', $id)
->where('adminUserOutTime', NULL)->first()
->update(['adminUserOutTime' => \Carbon\Carbon::now()]);
答案 0 :(得分:3)
尝试在链中使用->limit(1)
代替->first()
。
答案 1 :(得分:1)
在Laravel中,如果您只想更新一条记录,那么您可以使用Eloquent ORM的->first()
方法获取雄辩的对象,然后您只需通过->save()
更新对象。
Laravel查询构建器直接不支持仅更新记录,因为mysql MySQL - UPDATE query with LIMIT
不直接支持限制为1的更新在这里给出的例子中有一些修改工作,
DB::table('adminUserLogs')
->where('adminUserId', $id)
->where('adminUserOutTime', NULL)
->update(['adminUserOutTime' => \Carbon\Carbon::now()]);
这将导致更新指定条件的记录。更新该特定记录的where子句中的特定记录传递id
列。