Есть 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 ивенты вызываются через обсервер