【发布时间】:2020-03-29 06:59:50
【问题描述】:
我有以下错误:
Symfony\Component\Debug\Exception\FatalThrowableError
调用未定义的方法 App\Shop::getItems()
商店.php
public function getItems()
{
foreach ($this->items as $item) {
//$coverUrl = "https://SomeCoverUrl";
$productId = $item['id'];
$coverUrl = Product::find($productId)->images()->where('type', 'like', '%cover%')->get()->first();
if (empty($coverUrl)) {
$coverUrl = "https://via.placeholder.com/300C/O%20https://placeholder.com/";
} else {
$coverUrl = $coverUrl->img_url;
}
$item['cover'] = $coverUrl;
$platformName = Product::find($productId)->platform()->get()->first()->platform;
$item['platform'] = $platformName;
$item['region'] = Product::find($productId)->regions()->get()->first()->region;
//Pricecalculation
$priceArr = [];
$countPrice = 0;
foreach (Currency::all() as $currency) {
//Symbol
$priceArr[$countPrice][0] = number_format($item->price_100 * 1.49 * $currency->exchange_rate, 2);
//value
$priceArr[$countPrice][1] = $currency->symbol;
$countPrice++;
}
$item['price'] = $priceArr;
}
return $this->items;
}
ProductController.php
public function searchBar($search)
{
$search = str_replace('-', ' ', $search);
$product = Product::where('title', 'like', '%' . $search . '%')->paginate(10);
$shop = new Shop($product);
return $shop->getItems();
}
昨天功能正常。
现在 Shop Object 的所有功能都不起作用了。
已经在命令行上运行以下命令:
作曲家转储自动加载
php artisan clear-compiled
php 工匠缓存:清除
有什么办法吗?
编辑:
商店.php
public function something()
{
return 1;
}
ProductController.php
$shop = new Shop();
$shop->something();
返回相同的错误“调用未定义的方法”
【问题讨论】:
-
我相信你没有忘记在控制器中写
use App\Shop -
我没有忘记写使用App\Shop;在控制器中
-
我怀疑你的
$shopvar 是否正确实例化
标签: laravel methods undefined call