我在Order模型中编写了一个不断出错的方法。
方法Illuminate \ Database \ Query \ Builder :: generateOrderCode不存在 存在。
尽管它与另一个方法几乎相同,但是generateCode()是来自不同模型的方法,可以完美地找到以相同方式调用的方法。然后,我制定了一种测试方法,但无法使其正常工作。我将所有模型放在单独的文件夹中,并为其命名空间,这很好。
$order = new Order;
dd($order->testFunction());
然后在OrderController或Tinker中:
composer dumpautoload
给我
方法Illuminate \ Database \ Query \ Builder :: testFunction不存在。
我也做了php artisan make:model Order.
(如果这样做会有所帮助),甚至删除了该模型,并用$query = Post::withTrashed();
$query = $query->where('id', 1);
$query->forceDelete();
作了一个空白模型
我不明白。
答案 0 :(得分:0)
您可能有一个错误的类实例。
检查$order
是Order
模型的实际实例还是使用instanceof
的其他类:
return ($order instanceof App\Models\Order); //should return true
还要检查使用ReflectionClass
及其方法getFileName()
从哪个文件定义了您的类:
$refClass = new \ReflectionClass('App\Models\Order');
echo ($refClass->getFileName());
详细了解类型运算符:
https://www.php.net/manual/en/language.operators.type.php
查看有关ReflectionClass的更多信息:
答案 1 :(得分:0)
好吧,我现在觉得很傻。我解决了显然,很久以前,我已经创建了一个Order模型,然后决定不使用它,而只是将其放在另一个文件夹中。它与新创建的Order模型冲突。