laravel - 如何更新行并返回updated_at?
问题描述
我试图在updated_at
之后立即更新行和返回值:
$product = ProductModel::where("Id", $id)->update(["Status" => 0]);
return $product->updated_at;
如何正确地做到这一点?
我也可以为每次更新全局执行此操作吗?
解决方案
该update
函数旨在针对查询返回的行数进行批量更新。它可能是零,可能是一,可能是一千。因此,它的返回值只是一个布尔值“它工作了吗?” 价值。
由于您要更新单行:
$product = ProductModel::where("Id", $id)->first();
$product->Status = 0;
$product->save();
return $product->updated_at;
你真的应该告诉 Laravel 你的自定义主键,这样你就可以使用ProductModel::find($id)
更简洁的代码。
旁注:如果你有一个 ProductModel$product
并且你update()
在它上面使用,你可以$product->refresh()
从数据库中重新获取它的数据。
推荐阅读
- reactjs - 如何在 React 和 Flask 中检测过期的 PayPal 订阅?
- r - 如何确定给定值在 R 中的样本中的百分位数
- javascript - 即使我在购物车数组中传递对象,req.session.cart 总是给出未定义的
- python - 如何使用 [] 和 {} 猴子补丁列表和字典创建?
- mysql - 如何编写具有两个左连接和两个计数的 MySql 查询
- php - 获取不带时间戳的数组数据
- sql - 在第一个 where 子句上过滤数据集,然后在第二个 where 子句上过滤剩余的数据集
- python - 我想使用熊猫绘制我的数据框的第一行
- php - 我正在使用 manjaro 并且无法使用 php artisan 迁移它显示找不到 sql 驱动程序
- css - 添加图片时有空格