为了账号安全,请及时绑定邮箱和手机立即绑定

使用Laravel在控制器中递增整数

使用Laravel在控制器中递增整数

PHP
12345678_0001 2021-05-11 21:20:35
我不确定如何在控制器中增加整数这就是我尝试过的。我正在抓取代码,添加一个然后保存。这将产生错误:“在字符串上调用成员函数save()”我将返回计数以在浏览器中查看结果。在Tinker中运行$ count = Count :: find(1)-> count可以得出正确的金额。public function update(Request $request, Count $count){    $count = Count::find(1)->count;    $addOne = $count + 1;    $count->save();    return ($count);}有人可以告诉我这是怎么不起作用的,我该怎么做才能解决?这是迁移: public function up()  {     Schema::create('counts', function (Blueprint $table) {        $table->bigIncrements('id');        $table->integer('count');        $table->timestamps();     }); }这是模态:  <?php  namespace App;  use Illuminate\Database\Eloquent\Model;  class Count extends Model  {      protected $fillable = [        'count'      ];  }
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

问题是您存储的是count属性,而不是对象本身。


$count = Count::find(1);


$count->count += 1;


$count->save();


return ($count);

应该做的把戏。


一些更定义的命名也可能会有所帮助。不得不做一些精神体操来把我的头缠在我所数的数上。


查看完整回答
反对 回复 2021-05-28
?
哔哔one

TA贡献1854条经验 获得超8个赞

可接受的答案是好的,但是使用Laravel提供的帮助程序方法甚至可以更轻松地实现。


所以这段代码:


$count = Count::find(1);

$count->increment('count');


return $count;

将做同样的事情。


查看完整回答
反对 回复 2021-05-28
?
ITMISS

TA贡献1871条经验 获得超8个赞

你可以做


  $count = Count::find(1);

  $count->count += 1;

  $count->save();

  return $count;


查看完整回答
反对 回复 2021-05-28
  • 3 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信