我正在使用laravel 5.4 我有一个问题,无法将其谷歌。
控制器
<?php
namespace App\Http\Controllers\TasksDownload;
use App\Http\Controllers\Controller;
use Illuminate\View\View;
use Illuminate\Http\Request;
use App\Jobs\RequestTasksJob;
class HomeController extends Controller
{
public function requestTasks(Request $request)
{
dispatch(new \App\Jobs\RequestTasksJob([1,2]))
}
}
应用\作业\ RequestTasksJob
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
class RequestTasksJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $tasks;
public function __construct(array $tasks)
{
$this-> tasks = $tasks;
}
public function handle()
{
}
}
我收到了错误:
类App \ Jobs \ RequestTasksJob中无法解析的依赖项解析[参数#0 [$ tasks]]
有人有解决方案吗?我是laravel的新人。
答案 0 :(得分:0)
您需要添加data type
$tasks
的内容,因为如果您不提供,Laravel可以map
将其添加到相应的课程中,因此它会失败解决它需要映射到的类。
答案 1 :(得分:0)
显然,Job构造函数中不允许使用原始参数类型(至少在新的Laravel版本中)。所以使用setter来传递params;)