首页 > 解决方案 > 使用 Laravel 在控制器中增加整数

问题描述

我不确定如何在控制器中增加整数

这是我尝试过的。我正在抓取代码,添加一个然后保存。这会产生错误:“调用字符串上的成员函数 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'
      ];
  }

标签: phplaraveleloquent

解决方案


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

$count = Count::find(1);

$count->count += 1;

$count->save();

return ($count);

应该做的伎俩。

一些更明确的命名也可能有所帮助。不得不做一些心理体操来弄清楚我在数什么数。


推荐阅读