•  
  •  
  •  
  •  
  •  
  •  
  •  

どうもー、ざっくです。

寒くなってきて朝、布団からでるのがつらいですね。

起きる少し前から暖房をつけるとすぱっと起きれますのでどうしても起きられない方は実践してみてはどうでしょうか。

さて、今日はfind()について少しだけ書いていこうと思います。

大まかな使い方はご存知の方も多いですし、基礎の部分ですしね!!

 

・joinの仕方

'joins' => array (
    array (
        'type' => 'LEFT',
        'table' => 'profiles',
        'alias' => 'Profile',
        'conditions' => 'User.id = Profile.user_id'
    ),
    array (
        'type' => 'LEFT',
        'table' => 'tables',
        'alias' => 'Table',
        'conditions' => 'User.id = Table.user_id'
        )
    )

 

このようにUserテーブルとのjoinに必要な情報をfindの引数に設定していきます。

これでUserテーブルをfind()した場合、ProfileテーブルとTableテーブルの情報が取得できます。

・recursiveとはなんだろう?

これはアソシエーションの設定をしていた場合に自動で取得してくれる範囲を絞るために必要になります。

 

  • -1 → joinはせず、Userテーブルの情報のみ取得する。
  •  0 → belongsToしているテーブルとUserテーブルの情報を取得する。
  •  1 → belongsToとHasManyをしているテーブルの情報とUserテーブルの情報を取得する。
  •  2 → Userテーブルとアソシエーションを設定しているテーブルの関連テーブルの情報も取得する

だいたいこんな感じです。

単一のテーブルにそのテーブルの情報だけ必要な場合は-1を設定すればいいですね!

・listでセレクトボックスのデータを取得する。

    $select_data = $this->Model->find('list');

 

このようにfirstやallなどを記述していた部分にlistと書いてあげるだけでkey:valueの形でデータを取得してきてくれます。

今回はこのへんにして次回はORやAND、 INなどをつかったfind()の仕方を書いていきます。

それでは、また〜〜!

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

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

  •  
  •  
  •  
  •  
  •  
  •  
  •  

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

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