如何用来自循环的数据填充 class 的对象?

How can I fill the object of a class with data that come from loop?

如何用来自循环的数据填充 class 的对象?

如果我用错误的术语解释问题,我深表歉意..

我需要用从 twig 的表单中恢复的数字填充我的对象。 然后,我希望这个对象被持久化和刷新。就这么简单。

我不明白如何填充我的对象,因为我从树枝中恢复的数字在 table.

内的循环内

预先感谢您提供所有可能的想法..

这是我的树枝:

<form name="order" action="{{ path('edit_book',{'id_book':id_book}) }}" 
method="post">
<table >
{%  for d in pages %}
    <tbody>

    <tr>

        <td>
{{ d.title }}
        </td>


        <td>
             <input name="order_{{ d.idPage }}" size="3" id="{{ d.idPage 
}}" value="{{ d.order }}">
        </td>

    </tr>

{%  endif %}
    </tbody>
{% endfor %}
    <tfoot>
    <tr>

        <td align="right" colspan="3" style="width: 45px;">
            <div style="float: right;">
                    <input type="submit" name="commit" title="Order">
            </div>
        </td>
    </tr>

    </tfoot>
</table>
</form>

我的控制器:

/**
 * @Route("/book/edit/id_site/{id_book}", name="edit_book")
 */
public function edit(Request $request, $id_book)
{

    $value=$_POST;
    dump($value); 

    $order = new Page();

    $order->setIdSite($id_book);
    $order->setOrder($value['order_{{ d.idPage }}']);  // this, of course, does not work...

    dump($order); /*die;*/

首先您需要重命名您的输入,以便您可以将 ID 与订单进行数学运算,例如

<input name="order[{{ d.idPage }}]" size="3" id="page_{{ d.idPage }}" value="{{ d.order }}">

输入order现在是一个数组,你可以在PHP中循环:

foreach($_POST['order'] as $page_id => $order) {
    $order = new Page(); // <--- you prolly want to fetch an existing page here with $page_id
    $order->setIdSite($id_book);
    $order->setOrder($order);  // this, of course, does not work...
    dump($order); /*die;*/
}