我在调用帐户类中的方法时遇到问题。
这是我的类中定义的方法:
<?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()
变得相关的地方