asp*_*ile 5 php resources laravel
资源 Laravel 中出现错误“App\Http\Resources\OrderResource::__construct():参数 #2 ($orderLogRepository) 必须是 App\Interfaces\OrderLogRepositoryInterface 类型,给定 int,在 /var/www/vendor/laravel/ 中调用Framework/src/Illuminate/Collections/Traits/EnumeratesValues.php 第 355 行”
我将一个带有构造函数的类注入到 OrderResource.php 文件中。但它给出了之前的错误!我没有找到任何这方面的线索。
class OrderResource extends JsonResource
{
public $orderLogRepository;
public function __construct($resource, OrderLogRepositoryInterface $orderLogRepository)
{
$this->orderLogRepository = $orderLogRepository;
parent::__construct($resource);
}
}
Run Code Online (Sandbox Code Playgroud)
用集合来调用它resource。
OrderResource::collection($orders);
小智 1
你必须做这样的事情。
我们无法通过构造函数调用接口。所以我们需要尝试不同的方法。
第一个待办事项: 'is_cart' => \App::make('App\Interfaces\Cart\CartInterfaces')->checkProductIDInCart($this->id),
以我为例:
public function toArray($request)
{
return [
'id' => $this->id,
'encrypt_id' => \Crypt::encrypt($this->id),
'is_cart' => \App::make('App\Interfaces\Cart\CartInterfaces')->checkProductIDInCart($this->id),
];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |