У меня есть 3 таблицы:
клиенты:
клиенты *
услуги:
услуги
customerservices:
customerservicestable
При таком соотношении в CustomerservicesTable.php
:
$this->belongsTo('Customers')
->setForeignKey('customerid');
$this->belongsTo('Services')
->setForeignKey('serviceid');
В Template\Customerservices\add.ctp
Iиметь форму с раскрывающимся списком и числовым полем:
<div class="customerservices form large-9 medium-8 columns content">
<?= $this->Form->create($customerservice) ?>
<fieldset>
<legend><?= __('Add transaction') ?></legend>
<?php
echo $this->Form->input('Transaction type',array('options' => $servicesList));
echo $this->Form->control('price');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>
в Controller\CustomerservicesController.php
:
public function add($customerid = null)
{
$customerservice = $this->Customerservices->newEntity();
if ($this->request->is('post')) {
$customerservice->customerid = $customerid;
$customerservice->serviceid = //get selection from dropdown
if ($this->Customerservices->save($customerservice)) {
$this->Flash->success(__('The customerservice has been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('The customerservice could not be saved. Please, try again.'));
}
$this->set(compact('customerservice'));
$servicesList = TableRegistry::getTableLocator()->get('Services')->find('list');
$this->set(compact('servicesList'));
}
Как заменить комментарий, чтобы сохранить serviceid
, которыйвыбрано в раскрывающемся списке?
(дополнительный вопрос: можно ли скрыть поле price
в зависимости от выпадающего списка?)