<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
use JsonSerializable;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Class UserMessageQueueResult
* @package App\Entity
*
* @ORM\Entity
* @ORM\Table(name="user_message_queue_result")
*/
class UserMessageQueueResult implements JsonSerializable
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="bigint")
*/
private $id;
/* many to one relationships */
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="userMessageQueueResults")
* @ORM\JoinColumn(name="u_id", referencedColumnName="id")
*/
protected $user;
/**
* @ORM\ManyToOne(targetEntity="MessageQueueResult", inversedBy="userMessageQueueResults")
* @ORM\JoinColumn(name="mqr_id", referencedColumnName="id")
*/
protected $messageQueueResult;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $viewedAt;
/* methods */
/**
* UserMessageQueueResult constructor.
*/
public function __construct()
{
}
/**
* @return string
*/
public function __toString(){
return (string) $this->id;
}
/**
* @return array|mixed
*/
public function jsonSerialize()
{
return array(
'id'=> $this->id,
'user' => $this->user,
'messageQueueResult' => $this->messageQueueResult,
'viewedAt' => $this->viewedAt,
);
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getViewedAt()
{
return $this->viewedAt;
}
/**
* @param mixed $viewedAt
* @return UserMessageQueueResult
*/
public function setViewedAt($viewedAt): UserMessageQueueResult
{
$this->viewedAt = $viewedAt;
return $this;
}
/* many to one relationship methods */
/**
* Set user
*
* @param User|null $user
* @return UserMessageQueueResult
*/
public function setUser(\App\Entity\User $user = null): UserMessageQueueResult
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return User
*/
public function getUser()
{
return $this->user;
}
/**
* Set MessageQueueResult
*
* @param MessageQueueResult|null $messageQueueResult
* @return UserMessageQueueResult
*/
public function setMessageQueueResult(MessageQueueResult $messageQueueResult = null): UserMessageQueueResult
{
$this->messageQueueResult = $messageQueueResult;
return $this;
}
/**
* Get MessageQueueResult
*
* @return MessageQueueResult
*/
public function getMessageQueueResult()
{
return $this->messageQueueResult;
}
}