gpt4 book ai didi

javascript - Laravel DB::table 增量无法正常工作

转载 作者:行者123 更新时间:2023-12-03 12:03:02 25 4
gpt4 key购买 nike

我正在尝试在 javascript 中执行一条语句:

function giveRespect(username, postnumber){
alert('username');
alert('postnumber');
$.post('respect', {username: username, postnumber: postnumber});
}

注意:第一个警报正确显示用户名,例如:“Kori”。

注意:第二个警报正确显示数值,例如:10。

这些示例可能很奇怪,但现在您已经知道数据的形式了。

兹证明数据正确流入该方法。

路线('/respect')

Route::post('/respect', 'PostController@giveRespect');

这条路线有效并且过去一直有效。当调用 GiveRespect javascript 函数时,会调用 GiveRespect 方法。这是因为执行数据库增量语句并且确实增加了数字的事实证明了这一点。

PostController中的giveRespect方法

public function giveRespect(){
DB::table('users')->increment('respect', 1, array('username' => Input::get('username')));
DB::table('post')->increment('respect', 1, array('id' => Input::get('postnumber')));
}

问题:

第一行正确执行并且确实增加了尊重计数,

但是,第二个无法正确执行,并且不会增加尊重计​​数。

旁注

  • 表名正确,我已经检查、重新检查、再检查。 “users”是第一个,“post”是第二个
  • 列名也正确。 'respect' 是应该增加的列

最佳答案

我调试了一个小时并且发布这个问题 5 分钟后我就明白了。对不起,伙计们,无法预测这一点。

回答

声明

DB::table('users')->increment('respect', 1, array('username' => Input::get('username')));

没有达到我的预期。我期望第三个参数(数组)是一个 where() 方法参数,例如:increment where 'username' IS < username >

它实际上有什么作用?

增量方法中的第三个参数允许您指定一个列,该列也将随着增量更改而更新。方便,但不适合我

我是如何达到预期效果的?

public function giveRespect(){
$user = user::where('username','=', Input::get('username'))->first();
$user->increment('respect', 1);
$post = post::where('id', '=', Input::get('postnumber'))->first();
$post->increment('respect', 1);
}

我首先使用 where 语句结合 Eloquent 从数据库中检索对象,然后增加尊重计​​数器

关于javascript - Laravel DB::table 增量无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com