У меня есть следующие таблицы:
клиенты [идентификатор, имя, фамилия, телефон, текст, баланс, создано]
service_types [идентификатор, название, цена, длина, is_subscription, созданный]
customer_service_types [id, customer_id, service_type_id, цена, создан]
В add.ctp
CustomerServiceTypes У меня есть выпадающий список, содержащий типы служб и поле, содержащее цену,Я хочу, чтобы пользователь выбирал тип услуги из выпадающего списка, а затем обновлял поле цены с помощью price
выбранного типа услуги.
Вот существующий код:
add.ctp
<fieldset>
<legend><?= __('Add Customer Service Type') ?></legend>
<?php
echo $this->Form->control('customer_id', ['options' => $customers]);
echo $this->Form->control('service_type_id', ['options' => $serviceTypes]);
echo $this->Form->control('price');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
CustomerServiceTypesController.php
(добавить функцию)
public function add()
{
$customerServiceType = $this->CustomerServiceTypes->newEntity();
if ($this->request->is('post')) {
$customerServiceType = $this->CustomerServiceTypes->patchEntity($customerServiceType, $this->request->getData());
if ($this->CustomerServiceTypes->save($customerServiceType)) {
$this->Flash->success(__('The customer service type has been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('The customer service type could not be saved. Please, try again.'));
}
$customers = $this->CustomerServiceTypes->Customers->find('list', ['limit' => 200]);
$serviceTypes = $this->CustomerServiceTypes->ServiceTypes->find('list', ['limit' => 200]);
$this->set(compact('customerServiceType', 'customers', 'serviceTypes'));
}