Jquery Symfony fullcalendar按id删除事件

Jquery Symfony fullcalendar按id删除事件,jquery,ajax,symfony,controller,fullcalendar,Jquery,Ajax,Symfony,Controller,Fullcalendar,我试图根据他的id删除一个事件,我得到了id,但控制器给出了一个错误,因为它需要一个对象和一个字符串 模式的数据在事件单击时填充 eventClick: function(info) { var eventObj = info.event; //filling data $('#ev_title').html(eventObj.title); $('#ev_start').html('<b>Fe

我试图根据他的id删除一个事件,我得到了id,但控制器给出了一个错误,因为它需要一个对象和一个字符串


模式的数据在事件单击时填充

eventClick: function(info) {
    var eventObj = info.event;      
    //filling data          
        $('#ev_title').html(eventObj.title);    
        $('#ev_start').html('<b>Fecha inicio: </b> ' + eventObj.start);
        $('#ev_end').html('<b>Fecha fin: </b> ' + eventObj.end);
        $('#ev_desc').html('<b>Descripcion: </b>' + 
        eventObj.extendedProps.description);
        $('#ev_mail').html('<b>Correo destino: </b> ' + 
        eventObj.extendedProps.mail);
        $('#ev_id').html(eventObj.id);},


控制器:

public function deleteAction(Request $request){ 

$em = $this->getDoctrine()->getManager();

$data = $request->request->get('id');

$em->remove($data);
$em->flush();

这是错误消息:

EntityManager#remove()希望参数1是一个实体对象,字符串给定


您应该从id中检索对象并删除该对象。
$object=$em->getdoctor()->getRepository(Entity::class)->查找($request->get(“id”)
,然后像您所做的那样删除$object:
$em->remove($object);$em->flush();

提示:如果在默认服务配置中使用Symfony>=3.4,则可以在函数的参数中插入
EntityManagerInterface$em、ClassRepository$repo

<div id="myModal" class="modal fade" style="z-index: 9999;">
<div class="modal-dialog">
    <div class="modal-content">
         <div class="modal-header">         

            <h4 id="ev_title" class="modal-title"></h4> 
        --> <h4 id="ev_id" class="modal-title"></h4> 

        </div>
        <!-- dialog body -->
        <div class="modal-body">                

        <p id="ev_start" class="modal-body"></p>
        <p id="ev_end" class="modal-body"></p>
        <p id="ev_mail" class="modal-body"></p>
        <p id="ev_desc" class="modal-body"></p>            

        </div>
        <!-- dialog buttons -->
        <div class="modal-footer">
        <button type="button" data-dismiss="modal" class="btn btn-primary">Cerrar</button>
        <button type="button" class="btn btn-danger" onclick="borrar()">Borrar evento</button>      
        </div>          
    </div>
</div>
public function deleteAction(Request $request, EntityManagerInterface $em, ClassRepository $repo){ 
$object = $repo->find($request->get('id');
$em->remove($object);
$em->flush();

您应该从id中检索对象并删除该对象。
$object=$em->getdoctor()->getRepository(Entity::class)->查找($request->get(“id”)
,然后像您所做的那样删除$object:
$em->remove($object);$em->flush();

提示:如果在默认服务配置中使用Symfony>=3.4,则可以在函数的参数中插入
EntityManagerInterface$em、ClassRepository$repo

<div id="myModal" class="modal fade" style="z-index: 9999;">
<div class="modal-dialog">
    <div class="modal-content">
         <div class="modal-header">         

            <h4 id="ev_title" class="modal-title"></h4> 
        --> <h4 id="ev_id" class="modal-title"></h4> 

        </div>
        <!-- dialog body -->
        <div class="modal-body">                

        <p id="ev_start" class="modal-body"></p>
        <p id="ev_end" class="modal-body"></p>
        <p id="ev_mail" class="modal-body"></p>
        <p id="ev_desc" class="modal-body"></p>            

        </div>
        <!-- dialog buttons -->
        <div class="modal-footer">
        <button type="button" data-dismiss="modal" class="btn btn-primary">Cerrar</button>
        <button type="button" class="btn btn-danger" onclick="borrar()">Borrar evento</button>      
        </div>          
    </div>
</div>
public function deleteAction(Request $request, EntityManagerInterface $em, ClassRepository $repo){ 
$object = $repo->find($request->get('id');
$em->remove($object);
$em->flush();

实际上有很多方法可以实现这一点,但最好、最简单的做法是将id嵌入url中,如下所示:

/**
 * @Route("/delete/{id}")
 */
/**
 * @Route("/delete/{id}")
 */
public function deleteAction(YourClass $yourClassObject, EntityManagerInterface $em)
{
    $em->remove($object);
    $em->flush();
}
然后使用Symfony获得如下对象:

/**
 * @Route("/delete/{id}")
 */
/**
 * @Route("/delete/{id}")
 */
public function deleteAction(YourClass $yourClassObject, EntityManagerInterface $em)
{
    $em->remove($object);
    $em->flush();
}

实际上有很多方法可以实现这一点,但最好、最简单的做法是将id嵌入url中,如下所示:

/**
 * @Route("/delete/{id}")
 */
/**
 * @Route("/delete/{id}")
 */
public function deleteAction(YourClass $yourClassObject, EntityManagerInterface $em)
{
    $em->remove($object);
    $em->flush();
}
然后使用Symfony获得如下对象:

/**
 * @Route("/delete/{id}")
 */
/**
 * @Route("/delete/{id}")
 */
public function deleteAction(YourClass $yourClassObject, EntityManagerInterface $em)
{
    $em->remove($object);
    $em->flush();
}

我无法将$em和$repo添加到函数的参数中,但我在函数内部使用了它们,并且成功了。谢谢公共函数删除操作(请求$Request){$em=$this->getdoctor()->getManager();$object=$this->getdoctor()->getRepository('App:Evento')->find($Request->get('id');$em->remove($object);$em->flush();我无法将$em和$repo添加到函数的参数中,但我在函数内部使用了它们,并且成功了。谢谢公共函数deleteAction(Request$Request){$em=$this->getdoctor()->getManager();$object=$this->getdoctor()->getRepository('App:Evento')->find($Request->get('id');$em->remove($object);$em->flush();