EugeneLobach
@EugeneLobach
Web разработчик

Ошибка «No query results for model [App\\Models\\Todo].» функция работает а ивента нет?

Есть CRUD приложение, в котором я хочу сделать вебсокеты с помощью Laravel Lighthouse.
Использую Pusher, и при добавлении и редактировании приходит нормальный ответ, и появляется ивент в консоли пушера, но при удалении выводится ошибка "No query results for model [App\\Models\\Todo].", при этом запсись все равно удаляется, но ивента нет.
Вот схема:
type Mutation {
    addTodo(
      title: String!
    ): Todo @create @broadcast(subscription: "TodoCreated")

    removeTodo(
      id: ID!
    ): TodoDeletedResponse @broadcast(subscription: "TodoDeleted")

    updateTodo(
      id: ID!
      title: String
    ): Todo @update @broadcast(subscription: "TodoUpdated")
}


Вот сама мутация:
<?php

namespace App\GraphQL\Mutations;

use App\Models\Todo;

final class RemoveTodo
{
    /**
     * @param null $_
     * @param array{} $args
     */
    public function __invoke($_, array $args)
    {
        if (Todo::whereId($args['id'])->exists()) {
            $todo = Todo::whereId($args['id'])->first();
            if ($todo->delete()) {
                return [
                    'message' => 'Todo deleted',
                    'status' => 500,
                    'id' => $todo->id
                ];
            } else {
                return [
                    'message' => 'Something went wrong',
                    'status' => 500
                ];
            }
        } else {
            return [
                'message' => 'Todo not found',
                'status' => 404
            ];
        }
    }
}


P.S ивенты вызываются через обсервер
  • Вопрос задан
  • 278 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы