CakePHPのfind('list')でとってくるときの注意点

php cakephp

昨日の続き。コメントを頂いたのでSet::extract('/Blog/id',$this->Blog->find('all');を利用すると

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)

あらすてき!!

セレクタとかラジオボタンの設置ならこれが楽ですね。
また

$this->Blog->find('list');

というものがあります。デフォルトでは主キーが返ってくるみたいなのです。これも簡単ですね。
でも注意を。

Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
)

返ってくる結果はこれです。
[主キー] => 主キーの配列っぽいです。
Oh...ちょっと使い辛い...。ちょっとどころじゃない...。前者を使いましょう。

listは

$this-Blog->find('list',array('fields' => array('Blog.id','Blog.shopid')));

とか指定して

Array
(
//[主キー] => 'shopid'
[1] => testuser2
[2] => testu3
[3] => hoge3
[4] => hoge4
[5] => hoge3
[6] => hoge3
)

こんなときに使えます