У меня есть два вызова API, и я хочу реализовать их в одном.Независимо от того, как я пытаюсь, он отображает ошибку
Переменная «playTicket» не существует.
Мой вызов сначала создает форму, а после нажатия кнопки «Добавить» я хочу заполнить таблицуэто ниже этой формы на той же странице ..
Мои API-вызовы ..
public function playTicketsAddAction(Request $request, $id)
{
$form = $this->createFormBuilder()
->add('play', TextType::class, array('label' => 'Play', 'attr' => ['class' => 'form-control']))
->add('title', TextType::class, array('label' => 'Title', 'attr' => ['class' => 'form-control']))
->add('price', TextType::class, array('label' => 'Price', 'attr' => ['class' => 'form-control']))
->add('amount', TextType::class, array('label' => 'Amount', 'attr' => ['class' => 'form-control']))
->add('validFrom', DateType::class, array('label' => 'Valid From', 'attr' => ['class' => 'form-control']))
->add('validTo', DateType::class, array('label' => 'Valid To', 'attr' => ['class' => 'form-control']))
->add('save', SubmitType::class, array('label' => 'Add', 'attr' => ['class' => 'btn btn-primary pull-right action-save']))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$play = $data['play'];
$title = $data['title'];
$price = $data['price'];
$amount = $data['amount'];
$validFrom = $data['validFrom'];
$validTo = $data['validTo'];
$this->container->get('plays')->addNewPlayTicket($play, $title, $price, $amount, $validFrom, $validTo);
}
$this->addFlash('info', 'Ticket for this play was successfully <a href="/" class="alert-link">added</a>!');
return $this->render('@AdminTemplates/pages/manage-tickets.html.twig', array(
'form' => $form->createView(),
));
}
и
public function TicketsListAction()
{
$query = $this->getDoctrine()
->getRepository('AppBundle:playTickets')
->findAll();
$build['playTicket'] = $query;
return $this->render('@AdminTemplates/pages/seat-number-list.html.twig', $build);
}
и вот мой вид веточки
<div class="card-body">
{{ form_start(form, {'method': 'POST'}) }}
<div class="row">
<div class="col-md-12">
<div class="form-group">
{{ form_row(form.play) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
{{ form_row(form.title) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
{{ form_row(form.price) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{{ form_row(form.amount) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
{{ form_row(form.validFrom) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{{ form_row(form.validTo) }}
</div>
</div>
</div>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table">
<thead class=" text-primary">
<th>ID</th>
<th>Play Name</th>
<th>Title</th>
<th>Price</th>
<th>Amount</th>
<th>Valid From</th>
<th>Valid To</th>
<th>Actions</th>
</thead>
{% for p in playTicket %}
<tbody>
<tr>
<tr>
<td>{{ p.id }}</td>
<td>{{ p.playName }}</td>
<td>{{ p.theaterName }}</td>
<td>{{ p.validFrom|date("m/d/Y") }}</td>
<td>{{ p.validTo|date("m/d/Y") }}</td>
<td class="text-primary">{{ p.status }}</td>
<td class="td-actions text-left">
<a href="" rel="tooltip" title="Edit" class="btn btn-white btn-link btn-sm">
<i class="material-icons">edit</i>
</a>
<a href="" data-toggle="confirmation" data-message="Are you sure to delete this item?" rel="tooltip" title="Remove" class="btn btn-white btn-link btn-sm">
<i class="material-icons">delete</i>
</a>
</td>
</tr>
</tbody>
{% endfor %}
</table>
</div>
</div>
Я хочу, чтобы все было так, без использования ajax или другого, потому что я еще не освоил эту часть.:)