Symfony2 中的按钮 return ID

Button return Id in Symfony2

这是我的 PHP 代码,当按钮“myOnbutton”时,我试图在其中获取“ApartmentId”正在被点击。

if (isset($_POST['myOnbutton'])) {
            $providerstatss = $this->getDoctrine()
                    ->getRepository('myBundle:UserStats')
                    ->findByApartmentId($_POST);
        }

这是我在 twig 中的按钮代码 ---

  <form method="post" action="#">
        <div class="container">
            <h3>Content Management</h3>           
            <table class="table table-content">
<tbody>


         {% for userStats in userStats %}    
    <td>
            <button type="submit" class="btn btn-default btn-xs myOnbutton">ON</button> 
        </td> </tbody>
                </table></form>

它对我不起作用,我也不确定这个方法 ->findByApartmentId($_POST); ,列名是“ApartmentId ".

所以我需要在单击按钮时实际获取 "UserStats.ApartmentId"。

单击按钮时如何获得 "ApartmentId"?

有谁知道如何解决这个问题?提前致谢

您没有使用 Symfony2 和 Twig 的强大功能

试试这个

树枝:

<div class="container">
    <h3>Content Management</h3>
    <table class="table table-content">
        <tbody>
        {% for user in userStats %}
            <td>
                <a href="{{ path('mybundle_apartment',{ apartmentId: user.ApartmentId }) }}" class="btn btn-default btn-xs myOnbutton">ON</a>
            </td>
        {% endfor %}
        </tbody>
    </table>
</div>

控制器

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
// ....
/**
* @Route("/apartment/{id}", name="mybundle_apartment")
*/
public function apartmentAction($id)
{
    if (null !== ($request->get('myOnbutton'))) {

        $providerstatss = $this->getDoctrine()
                          ->getRepository('myBundle:UserStats')
                          ->findBy(array('ApartmentId' => $id));
    }
}
// ....

或者您可以使用 ParamConverter 直接找到您的实体,例如:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
// ....
/**
* @Route("/apartment/{id}", name="bundlename_apartment")
* @ParamConverter("apartment", class="myBundle:UserStats")
*/
public function apartmentAction($apartment)
{
    var_dump($apartment);
    // ...
}