Laravel Уведомление «Невозможно распаковать массив со строковыми ключами» при реализации ShouldQueue - PullRequest
0 голосов
/ 19 июня 2020

Я хочу отправить уведомление с использованием очередей в Laravel Framework 6.18.20.

$user->notify( new UserRegistrationSMSSend(
     $user->phone, 
     $user->getMeta('phone_verification_code')
));

Я создал уведомление с именем «UserRegistrationSMSSend».

<?php

namespace App\Notifications;

use App\Channels\SMSChannel;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;


class UserRegistrationSMSSend extends Notification implements ShouldQueue
{
    use Queueable;

    private $phone;
    private $code;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($phone, $code)
    {
        $this->phone = $phone;
        $this->code = $code;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return [SMSChannel::class];
    }

    /**
     * Get the sms representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toSMS($notifiable)
    {

        if (\App::environment('production')) {
            \LaravelLsimSms::sendSms(
                $this->phone, 
                __('Code is :code', ['code'=>$this->code])
            );
        }
    
    }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}

Когда я звоню результат этой функции: «Невозможно распаковать массив со строковыми ключами»

Когда я комментирую , реализует ShouldQueue , он работает. В чем собственно проблема? Нужна ваша помощь.

Обновлено Это полный журнал возвращенных ошибок. И CACHE_DRIVER в .env файле это array

[2020-06-02 06:08:53] local.ERROR: Cannot unpack array with string keys {"userId":11,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Cannot unpack array with string keys at C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Collection.php:571)
[stacktrace]
#0 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1430): Illuminate\\Database\\Eloquent\\Collection->getQueueableRelations()
#1 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\SerializesAndRestoresModelIdentifiers.php(35): Illuminate\\Database\\Eloquent\\Model->getQueueableRelations()
#2 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\SerializesModels.php(23): Illuminate\\Notifications\\SendQueuedNotifications->getSerializedPropertyValue(Object(App\\User))
#3 [internal function]: Illuminate\\Notifications\\SendQueuedNotifications->__sleep()
#4 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Queue.php(139): serialize(Object(Illuminate\\Notifications\\SendQueuedNotifications))
#5 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Queue.php(110): Illuminate\\Queue\\Queue->createObjectPayload(Object(Illuminate\\Notifications\\SendQueuedNotifications), NULL)
#6 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Queue.php(88): Illuminate\\Queue\\Queue->createPayloadArray(Object(Illuminate\\Notifications\\SendQueuedNotifications), NULL, '')
#7 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\SyncQueue.php(40): Illuminate\\Queue\\Queue->createPayload(Object(Illuminate\\Notifications\\SendQueuedNotifications), NULL, '')
#8 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Bus\\Dispatcher.php(182): Illuminate\\Queue\\SyncQueue->push(Object(Illuminate\\Notifications\\SendQueuedNotifications))
#9 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Bus\\Dispatcher.php(158): Illuminate\\Bus\\Dispatcher->pushCommandToQueue(Object(Illuminate\\Queue\\SyncQueue), Object(Illuminate\\Notifications\\SendQueuedNotifications))
#10 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Bus\\Dispatcher.php(73): Illuminate\\Bus\\Dispatcher->dispatchToQueue(Object(Illuminate\\Notifications\\SendQueuedNotifications))
#11 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Notifications\\NotificationSender.php(201): Illuminate\\Bus\\Dispatcher->dispatch(Object(Illuminate\\Notifications\\SendQueuedNotifications))
#12 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Notifications\\NotificationSender.php(76): Illuminate\\Notifications\\NotificationSender->queueNotification(Object(Illuminate\\Database\\Eloquent\\Collection), Object(App\\Notifications\\OrderStatusChanged))
#13 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Notifications\\ChannelManager.php(39): Illuminate\\Notifications\\NotificationSender->send(Object(Illuminate\\Database\\Eloquent\\Collection), Object(App\\Notifications\\OrderStatusChanged))
#14 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Notifications\\RoutesNotifications.php(18): Illuminate\\Notifications\\ChannelManager->send(Object(App\\User), Object(App\\Notifications\\OrderStatusChanged))
#15 C:\\xampp\\htdocs\\onlinehisse\\app\\Http\\Controllers\\OrderStatusController.php(93): App\\User->notify(Object(App\\Notifications\\OrderStatusChanged))
#16 [internal function]: App\\Http\\Controllers\\OrderStatusController->setOrderStatus(Object(App\\Http\\Requests\\SellerOrderStatusStoreRequest))
#17 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array)
#18 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('setOrderStatus', Array)
#19 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\OrderStatusController), 'setOrderStatus')
#20 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(176): Illuminate\\Routing\\Route->runController()
#21 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(681): Illuminate\\Routing\\Route->run()
#22 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#23 C:\\xampp\\htdocs\\onlinehisse\\app\\Http\\Middleware\\IsSeller.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): App\\Http\\Middleware\\IsSeller->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 C:\\xampp\\htdocs\\onlinehisse\\vendor\\tymon\\jwt-auth\\src\\Http\\Middleware\\Authenticate.php(32): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Tymon\\JWTAuth\\Http\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 C:\\xampp\\htdocs\\onlinehisse\\app\\Http\\Middleware\\Localization.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): App\\Http\\Middleware\\Localization->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 C:\\xampp\\htdocs\\onlinehisse\\vendor\\barryvdh\\laravel-cors\\src\\HandleCors.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 C:\\xampp\\htdocs\\onlinehisse\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 C:\\xampp\\htdocs\\onlinehisse\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 C:\\xampp\\htdocs\\onlinehisse\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...