Я хочу использовать Очередь в Laravel для отправки сообщений в очередь. Поэтому я хотел сначала попробовать основной поток, который на данный момент вызывает ошибки.Ошибка преобразования массива в строку в Laravel
Как я использую CommandBus в Laravel, я создал слушателя:
Listener - IncidentNotifier.php
<?php
namespace App\Listeners;
use App\Events\Incident\IncidentWasPosted;
use App\Events\EventListener;
use App\Http\Traits\SearchResponder;
use App\Jobs\SendAlarmToResponder;
use Illuminate\Foundation\Bus\DispatchesJobs;
class IncidentNotifier extends EventListener {
use DispatchesJobs, SearchResponder;
public function whenIncidentWasPosted(IncidentWasPosted $event) {
$responders = $this->getResponderInRange($event);
$this->dispatch(new SendAlarmToResponder($responders));
}
}
Этот слушатель должен стоять в очереди на работу (пока еще не сделано), чтобы использовать push-уведомление, поскольку это заблокировало бы мою систему в настоящий момент, не используя Queues.
Работа - SendToAlarmResponder.php
<?php
namespace App\Jobs;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldQueue;
class SendAlarmToResponder extends Job implements SelfHandling, ShouldQueue
{
use InteractsWithQueue, SerializesModels;
protected $responders = array();
public function __construct($responders)
{
$this->$responders = $responders;
}
public function handle($responders)
{
var_dump($responders);
}
}
метод searchResponder
public function getResponderInRange($event) {
$position[] = array();
$position['latitude'] = $event->incident->latitude;
$position['longitude'] = $event->incident->longitude;
$queryResult = ResponderHelper::searchResponder($position);
return $queryResult;
}
Массив ответчики является переменной, я хотел бы перейти к работе, чтобы быть обработаны там позже , Это массив объектов, которые я получил из своей базы данных и хорошо работает. Но я получаю сообщение об ошибке:
ErrorException in SendAlarmToResponder.php line 19:
Array to string conversion
Как я могу передать этот массив заданию?
Гоша ... Я совершенно не видел этого. Сейчас работает как шарм! Спасибо, u_mulder – sesc360