•  
  •  
  •  
  •  
  •  
  •  
  •  

どうも、ざっくです。

今回も前回同様にfind()について書いていこうと思います。

 

find()になれてきたけど条件としてORやAND、INなど使いたいと思ったことはないですか?

 

それでは説明していきます。

・OR

$this->Profile->find('all', array(
    'conditions' => array(
        'OR' => array(
            'user_id' => 1, 
            'age' => '20'
            )
        )
    )
)

→ SELECT * FROM profles AS Profile WHERE ((user_id = 1) OR (age = '20'));

このように書きます。連想配列として渡してあげれば解釈してくれるようですね。

 

$this->Profile->find('all', array(
        'conditions' => array(
            'OR' => array(
                array('Profile.user_id' => 10),
                array('Profile.user_id' => 20)
            )
        )
    )    
)

→ SELECT * FROM profles AS Profile WHERE ((user_id = 10) OR (user_id = 20));

同じフィールドに対してのOR条件の付与はこのように書きます。

 

・AND

find('find', array(
    'conditions' => array(
        array('OR' => array(
            'user_id' => 1,
            'age' => 30,
            )
        ),
        array('OR' => array(
            'user_id' => 5,
            'age' => 20,
            )
        )
    )
));

→ SELECT * FROM profles AS Profile WHERE ((user_id = 1) OR (age = 30)) AND ((user_id = 5) OR (age = 20));

基本的にANDは連想配列を列挙していく時に自動でついてくれます。

 

・IN

    $ary = array(11, 22, 33);
    $this->find('all', Array('conditions' => Array('user_id' => $ary)));

上記のように配列をコンディションに設定してあげることで自動的にINをつけてSQLを発行してくれます。

 

数あるうちの代表的ものだけ条件指定の方法を説明しましたが、

どれも共通しているのは、Cakeさんが解釈できるようにconditionを設定してあげる必要があるということですね。

 

それではまた次回!!ありがとうございましたー

お見積いたします。どんなことでも、お気軽にご相談ください。

お客様のご要望とご予算に応じて最適なソリューションをご提案いたします。
VRの開発やアプリ開発以外でも、ぜひ一度ご相談ください。

  •  
  •  
  •  
  •  
  •  
  •  
  •  

VRの開発やアプリ開発などのご依頼は【Vermuda LLC,】へ

【Vermuda LLC,】ではVRの開発やWEBシステム、アプリの開発などを通し、皆様の業務を楽しく便利にするお手伝いをしております。特にVRは近年注目を集めているマーケティングツールで、スマホを使った販促活動にも役立ちます。会社が売り出す商品やサービスが3Dで立体的に見えると、より顧客の知的好奇心を刺激することが可能です。会社の魅力が伝わるVRやアプリ開発の依頼先を探しておりましたら、ぜひ【Vermuda LLC,】へご依頼ください。見積もりは随時承っております。