我正在使用 Laravel 4 的原始查询, 有没有办法检查插入中受影响的行? DB::getPdo()->rowCount();
给我一个"undefined method" error
。代码如下:
$query = "INSERT IGNORE INTO table (id) VALUES (?)";
$doQuery = DB::insert($query, array($value));
if ($doQuery) {
return DB::getPdo()->last();
} else {
return 0;
}
如果没有,是否有一种简单的方法可以在不进行两次查询的情况下确定插入是否完成?
您可以使用此功能:
int 影响陈述(字符串 $query,数组 $bounds = array())
运行 SQL 语句并获取受影响的行数。
参数
返回值
Laravel 4.2 和 5.4 中已经记录了此函数。[编辑说明:这些版本的文档已从 laravel 站点中删除。]
注意insert()
是一个别名statement()
并将返回一个布尔值。虽然功能update()
and delete()
是别名affectingStatement()
。因此,如果你想变得有趣并让审稿人感到困惑,你也可以写$rowCount = DB::delete("INSERT IGNORE ...", $bindings)
- 它会起作用的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)