2011年06月20日

Set::merge で初期設定オプションを指定

お願いします♪いいねとかつぶやいたりして下さい
 
find 句とかで最初に配列を初期設定しておきたいときがある。
そんなときは、こうする。


//まずは初期設定オプション。
$default = array(
    'conditions' => array(
        'teller_id' => 0,//無料占いのみ
        'subcontact_count <' => 3
    ),
    'fields' => array('Contact.id','Contact.user_id'),
    'order' => array('Contact.id' => 'desc'),
    'limit' => 20
);

Array
(
    [conditions] => Array
        (
            [teller_id] => 0
            [subcontact_count <] => 3
        )

    [fields] => Array
        (
            [0] => Contact.id
            [1] => Contact.user_id
        )

    [order] => Array
        (
            [Contact.id] => desc
        )

    [limit] => 20
)

//後で追加したい配列
$newoption = array(
    'conditions' => array(
        'teller_id' => 5,//無料占いのみ
        'subcontact_count <' => 17,
        'new' => 'new'
    ),
    'fields' => array('Contact.user','Contact.name'),
    'limit' => 17
);

//これを合体
$q = Set::merge($default,$newoption);

//すると後に指定した配列のデータを優先して配列を結合させる
Array
(
    [conditions] => Array
        (
            [teller_id] => 5
            [subcontact_count <] => 17
            [new] => new
        )

    [fields] => Array
        (
            [0] => Contact.id
            [1] => Contact.user_id
            [2] => Contact.user
            [3] => Contact.name
        )

    [order] => Array
        (
            [Contact.id] => desc
        )

    [limit] => 17
)



だから、初期値を最初、結合したいのを後にしとく必要がある。
関連するタグ: PHP cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ