When I try to flush an entity that all work well but nothing fill my database but 0 errors... There is my controller:
/**
* @Security("is_anonymous() or is_authenticated()")
* @Route("api")
*/
class MessageUserController extends Controller
{
/**
*
* @Rest\Post(
* path = "/message/user/add",
* name = "api_message_add"
* )
*/
public function UserAddMessageAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$content = ($request->get('content'));
$user = $em->getRepository('AppBundle:User')->findOneBy(array('id' => ($request->get('id_user'))));
$token = $request->get('token');
$friend = $em->getRepository('AppBundle:User')->findOneBy(array('id' => ($request->get('id_friend'))));
if (!isset($content)) {
return new JsonResponse([
'success' => "false",
'message' => "Message non renseigné"
]);
}
if (!isset($token)) {
return new JsonResponse([
'success' => "false",
'message' => "Token non renseigné"
]);
}
if ($user->getToken() != $token) {
return new JsonResponse([
'success' => "false",
'message' => "Bad token",
]);
}
if (!isset($friend) or !isset($user)) {
return new JsonResponse([
'success' => "false",
'message' => "Message sans propriétaire ou destinataire"
]);
}
$message = new MessageUser();
$message->setRead('0');
$message->setIdReceiver($friend->getId());
$message->setIdTransmitter($user->getId());
$message->setContent($content);
$dm = $this->get('doctrine_mongodb')->getManager();
$dm->persist($message);
$dm->flush();
return new JsonResponse([
'messages' => $message,
'success' => "true",
'message' => "Message ajouté"
]);
}
/**
*
* @Rest\Post(
* path = "/message/user/list",
* name = "api_message_list"
* )
*/
public function UserSeeMessageAction()
{
$dm = $this->get('doctrine_mongodb')->getManager();
$messages = $dm->getRepository('AppBundle:MessageUser')->find(1);
return new JsonResponse([
'messages' => $messages,
'success' => "true",
'message' => "Liste de messages"
]);
}
}
My entity:
<?php
namespace AppBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document()
*/
class MessageUser
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\Field(type="string")
*/
protected $content;
/**
* @MongoDB\Field(type="timestamp")
*/
protected $sendAt;
/**
* @MongoDB\Field(type="boolean")
*/
protected $read = '0';
/**
* @MongoDB\Field(type="integer")
*/
protected $idTransmitter;
/**
* @MongoDB\Field(type="integer")
*/
protected $idReceiver;
/**
* Get id
*
* @return id $id
*/
public function getId()
{
return $this->id;
}
/**
* Set content
*
* @param string $content
* @return $this
*/
public function setContent($content)
{
$this->content = $content;
return $this;
}
/**
* Get content
*
* @return string $content
*/
public function getContent()
{
return $this->content;
}
/**
* Set sendAt
*
* @param timestamp $sendAt
* @return $this
*/
public function setSendAt($sendAt)
{
$this->sendAt = $sendAt;
return $this;
}
/**
* Get sendAt
*
* @return timestamp $sendAt
*/
public function getSendAt()
{
return $this->sendAt;
}
/**
* Set read
*
* @param boolean $read
* @return $this
*/
public function setRead($read)
{
$this->read = $read;
return $this;
}
/**
* Get read
*
* @return boolean $read
*/
public function getRead()
{
return $this->read;
}
/**
* Set idTransmitter
*
* @param integer $idTransmitter
* @return $this
*/
public function setIdTransmitter($idTransmitter)
{
$this->idTransmitter = $idTransmitter;
return $this;
}
/**
* Get idTransmitter
*
* @return integer $idTransmitter
*/
public function getIdTransmitter()
{
return $this->idTransmitter;
}
/**
* Set idReceiver
*
* @param integer $idReceiver
* @return $this
*/
public function setIdReceiver($idReceiver)
{
$this->idReceiver = $idReceiver;
return $this;
}
/**
* Get idReceiver
*
* @return integer $idReceiver
*/
public function getIdReceiver()
{
return $this->idReceiver;
}
}
Like if I do: http://localhost:****/api/message/user/add the response looks like this:
{ "messages": {}, "success": "true", "message": "Message ajouté" }
But if I look my database nothing if in there ... If I type "show dbs" in my terminal I can see my database to 0.0000GB
What mistake did I?