2013-12-01 3 views
-3

когда у меня есть поле ввода с несколькими вариантами относительно «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

Пожалуйста 1) конкретно - каков ваш вопрос, как сделать множественный выбор, или как сохранить свои данные? 2) укажите, какую версию CakePHP вы используете, и 3) покажите примерный код того, что вы пробовали до сих пор. – Dave

+0

Иногда случается так, что я не хочу, чтобы спросить, потому что я не разработал язык, чтобы просить об этом. Но я работаю над этим и переписал вопрос. – user2895699

+0

Полностью понять. Но StackOverflow для вопросов с конкретными примерами кода, который вы пробовали, - это не место, где можно задать общий вопрос «как это сделать, PLS предоставить код для меня». – Dave

ответ

Смежные вопросы