如何更改要阅读的消息状态

时间:2021-03-10 11:32:01

标签: php doctrine-orm chat

在显示所有聊天消息时,我尝试更改消息的状态(已读或未读)。

实体

class Message
{
    /**
     * @ORM\Column(type="text",nullable=true)
     * @var string|null
     */
    public ?string $text;
    /**
     * @ORM\Column(type="guid",nullable=true)
     * @var string|null
     */
    public ?string $imageId;

    /**
     * @ORM\Column(type="datetime_immutable")
     * @var DateTimeImmutable
     */
    public DateTimeImmutable $createdAt;

    /**
     * @ORM\Column(type="boolean")
     * @var bool
     */
    public bool $received;
}

控制器 AllMessage

        $message = $this->supportMessageRepository->findAllByUserId($customerId);
        $items = array_map([$this->supportMessageMapper, 'map'], $message);

想法: 实现思路:当窗口打开或用户开始输入时,获取前面的flag为true | false,如果标志为 true,则更改消息的状态

问题: 但我不明白如何在收到列表时更改消息的状态(新的、尚未阅读的)。

问题: 如果用户每次调用一个方法获取消息列表,都会保存调用时间,如果比上一次长,则在实体中创建一个函数来改变状态。问题是,这行得通吗,还是我只能通过这种方式更改一条消息的状态?

0 个答案:

没有答案