这是我的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>
这对我不起作用,我也不确定这个方法 - &gt; findByApartmentId($ _ POST); ,列名是“ ApartmentId ”。
所以当点击按钮时我需要实际获得“UserStats.ApartmentId”。
单击按钮后如何获取“ApartmentId”?
有谁知道如何解决这个问题?提前致谢
答案 0 :(得分:4)
您不使用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);
// ...
}