Multiple select in input Cakephp

Wenn ich ein input-Feld mit mehreren Optionen in Bezug auf 'customer_id' die Anfrage generiert wird

$request->Daten mit array(CompanysCustomer => array('id' => '1', 'uid' => 'fhs32hrqwr8wfsdiof', 'customer_id' => array('0' => '5', '1' => '8', '2' => '9')).

Ich nicht undestand wie verwenden oder nutzen Sie dieses array. Es Funktioniert gut, wenn ich nicht mehrere, weil ich Sie dann nicht bekommen, array 'customer_id'. Ich habe eine Idee zu manipulieren, das array und Liste Sie aus ond die Sicherung pr foreach, aber das scheint unefficient, es muss einen anderen Weg?

Und im Probleme beim speichern in die db. Ich schaffte es dann, wenn ich einen einzelnen Datensatz zu speichern. Ich kann es machen, sparen Sie viele Datensätze auf einmal.

Version 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'));
  }

Modell 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' => ''
        )
    );
}

Anzeigen: CompanyCustomer\hinzufügen.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>
  • Bitte 1) spezifisch - was ist Ihre Frage, wie man einen multi-select, oder wie speichern die die Daten? 2) Liste, was die version von CakePHP, die Sie verwenden, und 3) zeigen einige Beispiel-code von dem, was Sie bisher ausprobiert habe.
  • Manchmal ist es happendes dass im nicht shure, was zu Fragen, weil ich noch nicht entwickelt, eine Sprache für die Fragen für solche. Aber ich bin mit der Arbeit, und geschrieben haben ist die Frage.
  • Kann Total verstehen. Aber StackOverflow ist für Fragen mit konkreten Beispielen des Codes, Sie haben versucht - es ist nicht ein Ort, um zu Fragen, general ", wie dies zu tun, bieten pls-code für mich".
  • Ich verstehe. Vielen Dank für das lassen mich wissen.
  • eine Lösung für dieses
InformationsquelleAutor user2895699 | 2013-12-01
Schreibe einen Kommentar