2012-08-05 2 views
0

salut tous im essayant de charger des informations d'une table dans une liste déroulante. J'essaie de charger account_id de ma table accounts_users qui contient - id, accounts_id, user_id dans une liste déroulante. Account_id ne doit apparaître que si l'ID de la table users = user_id de la table accounts_users. À l'heure actuelle, la boîte de dépôt ne charge que l'ID de la table accounts_users.cakePHP chargement des données d'une table dans une liste déroulante

ici est ma fonction add

function add() { 
    $this->set('title_for_layout', 'Please Enter Your Temaplate Details'); 
    $this->set('stylesheet_used', 'style'); 
    $this->set('image_used', 'eBOXLogo.jpg'); 
    $accounts=$this->User->AccountsUser->find('list', array('conditions' => array('user_id' => $this->Auth->user('id')))); 
    debug($accounts); 
    if($this->request->is('post')){ 
     $this->Template->create(); 

    if ($this->Template->save($this->request->data)) { 
    $this->Session->setFlash('The template has been saved'); 
    $this->redirect(array('controller' => 'Fields','action' => 'add')); 
    } else { 
    $this->Session->setFlash('The template could not be saved. Please, try again.'); 
    } 
} 

$this->set('accounts', $accounts); 

}

et voici la vue ajouter

<?php 
echo $this->Form->create('Template', array('action'=>'add')); 
echo $this->Form->input('name',array('label'=>'Template Name: ')); 
echo $this->Form->input('account_id',array('label'=>'Business: ', 'type' => 'select', 'options' => $accounts)); 
echo $this->Form->input('description',array('label'=>'Short Description Of Template: ')); 
echo $this->Form->end('Click Here To Submit Template'); 
?> 

les sorties de débogage

app \ Controller \ TemplatesController.php (ligne 20) tableau ( (entier) 3 => '3' )

l'utilisateur dans la table accounts_users ne dispose que d'une entrée avec id = 3, account_id = 10 et user_id = 14

Répondre

3
$accounts=$this->User->AccountsUser->find('list', array('conditions' => array('user_id' => $this->Auth->user('id')))); 

doit être:

$accounts=$this->User->AccountsUser->find('list', array('fields'=>array('id','account_id'),'conditions' => array('user_id' => $this->Auth->user('id')))); 
Questions connexes