J'ai ce tableau dans ma DB:CakePHP
Group
- ID-Name
- 1 -abc
- 2 -def
- 3 -ghi
Pages
- id-group_id-name
- 1 -1 -home
- 2 -1 -about us
Maintenant, je voulais faire une boîte de sélection qui les regroupe par « groupe » en utilisant:
function add() {
$this->set('pages', $this->Page->find('list', array('fields' => array('Page.id', 'Page.name', 'Page.group_id'))));
}
Dans mon add. ctp:
echo $form->input('group_id', array('options' => $pages));
La sortie:
<select name="data[Page][id]" id="PageId">
<optgroup label="1">
<option value="1">Home</option>
<option value="2">About Us</option>
</optgroup>
</select>
Je voulais que le optgroup pour afficher le nom du groupe actuel pas l'ID de groupe comme:
<select name="data[Page][id]" id="PageId">
<optgroup label="abc">
<option value="1">Home</option>
<option value="2">About Us</option>
</optgroup>
</select>
J'ai essayé celui-ci:
$this->Page->find('list', array('conditions' => 'Group.id = Page.id', 'fields' => array('Page.id', 'Page.name', 'Group.name')));
Mais groupe 'Group.id' et » .name 'est inconnu.
Merci!
peut vous montrer tout le code impliqué dans la création de cette zone de sélection? Vous définissez généralement optgroups en passant un nom de tableau comme ceci: 1. Php echo $ form-> entrée ('field', array ('options' => array ( 2. 'Label1' => array ( 3. 'Valeur 1' => 'Étiquette 1', 4. 'Valeur 2' => 'Étiquette 2' 5.), 6. 'Label2' => array ( 7. 'Value 3' = > 'Étiquette 3' 8.) 9.))); ?> – pcp
J'ai vraiment compris cela, ma même question peut être trouvée ici http://cakeqs.org/eng/questions/view/find_list_problem. J'espère que cela peut vous aider les gars :) –