php - Laravel 试图删除最后添加的 MySQL 行

标签 php mysql laravel

我正在尝试删除添加到具有特定用户 ID 的 MySQL 表中的最后一行。当我点击我的按钮时,我目前收到以下错误。

fatal error :在整数上调用成员函数 Where()

这是我在 Blade 文件中按钮所在的代码

<div class="element1">
  {{ HTML::image('progress2/Icons/Meetings_Icon.png', 'alt', array('width' =>150)) }}
   <div class="text1">
 <form action="{{ route("progress") }}" method="post">
    <button class="styleHover styleButton"> + </button> </form>
    &nbsp; &nbsp; 5 &nbsp; &nbsp;
<form action="{{route("progressDeincrement") }}" method="post">
 <button class="styleHover styleButton"> - </button>
  </form>
 </div>

这是我的路由文件中的代码

Route:: post("progressDeincrement", [
  "as" => "progressDeincrement",
  "uses" => "tableController@delete"
]);

这是我 Controller 中的代码

public function delete() 
{
   $idForDelete = DB :: table("users_has_activities") -> max("pointsID") -> 
  Where("usersID", "=", "12");
  DB:: table("users_has_activities") -> Where("pointsID", "=",  $idForDelete) ->  
delete();
}

+ 按钮能够向 MySQL 表中添加一行,但是,删除一行对我来说是一个挑战。

最佳答案

您可以将其简化为单个数据库查询:

DB::table("users_has_activities")
    ->where("usersID", "=", "12")
    ->orderBy("pointsID", "DESC")
    ->take(1)
    ->delete();

这将为您提供如下 SQL 查询:

DELETE FROM users_has_activities
WHERE usersID = '12'
ORDER BY `pointsID` DESC
LIMIT 1;

结合使用 Order By column DESCLIMIT 1 确保您将获得可用的最高 ID,因此模仿 MAX().

关于php - Laravel 试图删除最后添加的 MySQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070663/

相关文章:

php - 确定 CSS 是否请求该文件

php - 准备好的语句中的 MySQL/PHP : How can we bind a parameter to both (? )s?

php - 在我的 1&1 网络服务器上使用 simplexml 解析 XML 时出错,而不是在本地 EasyPHP 服务器上?

php - Laravel 工厂关联只关联最后的数据。如何解决这个问题?

php - 无法在 Laravel 中对数据进行分页

php - 如何在laravel中获取最后插入的id

php - 如何存储敏感文件并只允许某些用户访问

php 左加入 请帮忙

php - 如何在自己的错误处理函数中使用 mysql_errno() ?

mysql - 仅当新值大于列中的现有值时,如何更新行?