On Mon, Jan 21, 2013 at 11:31 AM, PlanoCoder <[email protected]> wrote:
> I need to use foreach data in
>
> $this-Form->select('player');
>
> here is my current code
>
> <select name="data['User']['player']" id="UserPlayer">
>                         <?php foreach($players as $player): ?>
>                         <option value="<?php echo $player['Player']['id'];
> ?>">Team: <?php echo h($player['Player']['team']);
>                         ?> Number: <?php echo
> h($player['Player']['number']); ?></option>
>                         <?php endforeach; ?>
> </select>
>

You'll see in the API that if you pass an associative array to
FormHelper::select() it will use the keys as the option value and the
values (of the array) as the option content.

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::select

So what you need to do is format a new array from the data in
$players. Right now you have:

array(
  array(
    'Player' => array(
        'id' => 'xxx',
        'team' => 'something',
        'number' => 'yyy'
    ),
    etc.

You need to change that to:

$options = array(
        'xxx' => 'Team: something Number: yyy',
        'xxx' => 'Team: something Number: yyy',
        etc.
);

You can do this with the Set or Hash utility classes, depending what
version of Cake you are using.

Then:

echo $this->Form->select('User.Player', $options);

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to