我有这个问题,我想删除多个表中的一些数据(不使用外键),所以我确实进行了查询,laravel抛出了一个sql错误,这就是我所做的查询。因此,我复制并粘贴了同一个查询,并在mysql中执行它,它可以正常工作。我不知道有什么问题。代码如下:
$deleteQuery = "DELETE FROM posts WHERE user_id= " . $user->user_id . ";";
$deleteQuery .= "DELETE FROM settings WHERE user_id= " . $user->user_id . ";";
$deleteQuery .= "DELETE FROM pictures WHERE user_id= " . $user->user_id . ";";
DB::delete($deleteQuery);
我也尝试过:
DB::delete($deleteQuery);
但它不起作用。
我能做什么?
2条答案
按热度按时间h9a6wy2h1#
您正在一个位置放置多个delete语句。这个
DB::delete()
函数不支持这一点。您可以像这样向数据库发送多个删除查询
或者如果你真的想一次性完成,你可以这样做:
查看查询生成器文档:https://laravel.com/docs/5.6/queries#deletes
axkjgtzd2#
试试这个,
在拉威尔,
DB::statement()
运行sql查询。例如:
$query=“更新
table_name
套field
=值“;db::语句($query);