Erreur: Argument manquant 1 pour App \ Jobs \ ReorderDatabase :: handle() montre, Je dois passer la variable du contrôleur et je n'ai pas besoin d'utiliser le modèle, alors comment je devrais procéder.classe de travail n'accepte pas l'argument envoyer du contrôleur dans laravel
Mon code de la fonction de contrôleur est ici
public function postData(Request $request)
{
$updateRecordsArray = Input::get('order');
$this->dispatch(new ReorderDatabase($updateRecordsArray));
return Response::json('Okay');
}
Mon travail code de travail de RecorderDatabase est
<?php namespace App\Jobs;
use App\Http\Requests\Request;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\DragDropController;
/**
* Class ReorderDatabase
* @package App\Jobs
*/
class ReorderDatabase extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
}
/**
* Execute the job.
*
* @return void
*/
public function handle($updateRecordsArray)
{
$i = 1;
foreach ($updateRecordsArray as $recordID) {
DB::table('venues')->where('id', '=', $recordID)->update(array('priority' => $i));
$i++;
}
}
}
vous n'êtes pas de passage ce tableau comme argument l'expédition, il est un argument au constructeur du travail que vous créez une nouvelle instance de. – lagbox
Je ne comprends pas comment le faire, pouvez-vous s'il vous plaît expliquer – Vikash