Laravel 5 方法不存在 - 为什么我无法访问我的函数


laravel 5 method does not exist - why can't i access my function?

我在调用帐户类中的方法时遇到问题。

这是我的类中定义的方法:

<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class Account extends Model
{
    protected $fillable = ['customer_id','bookmaker_id', 'balance', 'profit'];
    public function addProfit($amountToAdd) {
        $this->profit = $this->profit + $amountToAdd;
    }
.......
......

这是我在控制器中的方法调用

$account->addProfit(5);

我已经确定我正在使用 dd($account) 命令返回单个帐户记录,因此看起来这绝对是该方法的问题。

但是,当我尝试运行代码时,我收到此消息:

BadMethodCallException in Macroable.php line 81:
Method addProfit does not exist.

如果有人遇到同样的问题,Laravel只会在单个对象上调用模型的方法。例如,如果您在 User 模型上创建了名为 getAge 的 Model.php 文件中的自定义函数,则必须确保在表达式 $object->getAge() 中,$object是一个对象。这就是使用->first()而不仅仅是->get()变得相关的地方