CakePHP 2.6.x を使っています。
find() で取得した配列にクラス名が入っているが、これを除去したい
ケースがあります。
lang
1<?php 2// app/console/Command/SampleShell.php 3Class SampleShell extends AppShell { 4 public function startup() {} 5 public function main() { 6 $list = [ // find('all') で取り込んだ内容 7 '0' => [ 8 'ClassName' => [ 9 'id' => '1' , 10 'name' => 'Tom' 11 ] 12 ], 13 '1' => [ 14 'ClassName' => [ 15 'id' => '2' , 16 'name' => 'Becky' 17 ] 18 ] 19 ]; 20 $this->out(print_r(Set::extract('/ClassName/.', $list))); 21 } // SampleShell :: main() 22 23} // Class SampleShell extends AppShell
これを実行すると、以下のようになります。
lang
1$ ./cake/app/Console/cake sample 2Array 3( 4 [0] => Array 5 ( 6 [id] => 1 7 [name] => Tom 8 ) 9 10 [1] => Array 11 ( 12 [id] => 2 13 [name] => Becky 14 ) 15 16) 171
これで目的は達成しているのですが、
http://book.cakephp.org/2.0/ja/core-utility-libraries/set.html
によると、Set クラスは 2.2 から非推奨になり、Hash を使えとのことです。
ただ、Hash の説明を読んだのですが、うまく書けませんでした。
Hash で上記相当のことをするにはどう書けばよいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/29 03:54
2015/05/29 03:57