когда у меня есть поле ввода с несколькими вариантами относительно «customer_id» запрос выработанных данныхМножественный выбор на входе CakePHP
$ request-> данные, содержащие массив (CompanysCustomer => Array («ID» => ' 1 ',' uid '=>' fhs32hrqwr8wfsdiof ',' customer_id '=> array (' 0 '=>' 5 ',' 1 '=>' 8 ',' 2 '=>' 9 ')).
Я не разбираюсь в том, как использовать или использовать этот массив. Он хорошо работает, когда я не использую несколько, потому что тогда я не получаю массив в «customer_id». У меня есть идея манипулировать массивом и перечислять их на сохранить pr foreach, но это кажется неэффективным, это должно быть каким-то другим способом?
И им не удалось сэкономить это на дБ. Мне удалось это сделать, когда у меня есть одна запись для сохранения. Я не могу сэкономить сразу несколько записей.
Версия 2.4.1
public function add($id) {
if ($this->request->is('post')) {
$this->CompanysCustomer->create();
if ($this->CompanysCustomer->save($this->request->data)){
$this->Session->setFlash(__('The Companys Customer has been saved.'));
return $this->redirect(array('action' => 'index'));
}
else{
$this->Session->setFlash(__('The Companys Customer could not be saved. Please, try again.'));}
}
$customers = $this->CompanysCustomer->Customer->find('list');
$this->set(compact('customers'));
}
Модель CompanysCustomer
<?php
App::uses('AppModel', 'Model');
/**
* CompanysCustomer Model
*/
class CompanysCustomer extends AppModel {
//The Associations below have been created with all possible keys, those that are not needed can be removed
/**
* belongsTo associations
*
* @var array
*/
public $belongsTo = array(
'Company' => array(
'className' => 'Company',
'foreignKey' => 'company_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Customer' => array(
'className' => 'Customer',
'foreignKey' => 'customer_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
Вид: компанииОбслуживание \ add.ctp
<div class="companysCustomers form">
<?php echo $this->Form->create('CompanysCustomer'); ?>
<fieldset>
<legend><?php echo __('Add Companys Customer'); ?></legend>
<?php
$company_id = $id;
echo $this->Form->input('company_id', array(
'type' => 'hidden',
'value' => $id,
));
$uid = uniqid("", $more_entropy = true);
echo $this->Form->input('uid', array(
'type' => 'hidden',
'value' => $uid,
));
//echo $this->Form->input('company_id');
echo $this->Form->input('customer_id',array('type' => 'select', 'multiple' => 'checkbox','size' => '20'));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
</div>
Пожалуйста 1) конкретно - каков ваш вопрос, как сделать множественный выбор, или как сохранить свои данные? 2) укажите, какую версию CakePHP вы используете, и 3) покажите примерный код того, что вы пробовали до сих пор. – Dave
Иногда случается так, что я не хочу, чтобы спросить, потому что я не разработал язык, чтобы просить об этом. Но я работаю над этим и переписал вопрос. – user2895699
Полностью понять. Но StackOverflow для вопросов с конкретными примерами кода, который вы пробовали, - это не место, где можно задать общий вопрос «как это сделать, PLS предоставить код для меня». – Dave