Symfony 3およびDatatablesを使用してメンバーとして選択する人物を表示するテーブルがあります。 1つまたは複数の行(メンバー)を選択できます。 Jqueryを使用して、選択したメンバーのIDを取得できます。今度は、選択したIDをメンバーとしてデータベースに保存します。しかし、私はこれを行う方法に苦労しています。 小枝で私のテーブルnewmembers.html.twigがsubmitボタンがあり、次のようになります。コントローラの選択された行からデータテーブルを取得する
...
{% block body %}
{{ form_start(form) }}
<input type="submit" name="ids" id="submit" value="Add members" class="btn btn-primary" />
<table id="newmembers">
<thead>
<tr>
<th class="hidden">Id</th>
<th>Name</th>
</tr>
</thead>
<tbody>
{% for person in persons %}
<tr>
<td class="hidden">{{ person.id }}</td>
<td>{{ person.lastname }}, {{ person.initials }} {{ person.middlename }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ form_end(form) }}
{% endblock %}
{% block javascripts %}
<script type="text/javascript">
$('#submit').click(function() {
var ids = $.map(table.rows('.selected').data(), function (item) {
return item[0]
});
if (ids=='') {
alert('no member(s) selected');
return false;
}
return(ids);
</script>
{% endblock %}
変数IDが、今私が保存したいすべてのメンバー-idを保持しています。 私のコントローラでは、私が出ている:
public function newAction(Request $request)
{
$members= new Member();
$form = $this->createForm(MemberType::class, $member);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$members = $form->getData('ids');
//check if I have any results//
dump($members);die
//add saving to database...//
}
return $this->render('member/newmember.html.twig', array(
'persons' => $persons,
'form' => $form->createView(),
));
}
コントローラ$メンバーのいずれかの結果を返しません。明らかに私はここに何かが欠けている:私の小枝テンプレートからjquery配列 "ids"を私のコントローラに投稿する方法。
データベースに保存するために、選択された行/ IDのjquery配列をマイコンに投稿する(最良の)方法は何ですか?
ありがとうございました。私はちょうどそれに取り組んでいたし、それは最善の解決策であるようだ。 – zef