Viewでデータベースの情報を取ってきたいときに使う手法
こんにちは
ニシザワです。
本日はBaserCMSでViewだけでデータベースの情報を取ってきたいときの手法です。
結構、こういう場面ってあるんじゃないでしょうか。
Controllerをフックする事も可能ですけど、それすら面倒なときに使う手法です。
ちなみに、メンテナンスを考えるとControllerに書く方が絶対的にいいので、この辺を理解の上、参考にしてください。
基本的に、BaserCMSはCakePHPフレームワークの上に実装されているのでCakeの仕様通りに使えます。
ですので、Cakeのリファレンスをみてもらうのもありかと思います。
URL:http://book.cakephp.org/2.0/ja/models/retrieving-your-data.html
では、ブログの記事を取得するを例にまとめます。
後はpostDatasに入っているデータをお好きなように取得してくるだけです。
構造を理解するならvar_dump($postDatas)を実行すると分かりますよ。
ちなみに整ったのを出力するなら
私は分かりやすいのでこっちを使ってます。
他にも条件分はあるので、いろいろためしてみてください。
最後まで読んでいただきありがとうございました。
ニシザワです。
本日はBaserCMSでViewだけでデータベースの情報を取ってきたいときの手法です。
結構、こういう場面ってあるんじゃないでしょうか。
Controllerをフックする事も可能ですけど、それすら面倒なときに使う手法です。
ちなみに、メンテナンスを考えるとControllerに書く方が絶対的にいいので、この辺を理解の上、参考にしてください。
基本的に、BaserCMSはCakePHPフレームワークの上に実装されているのでCakeの仕様通りに使えます。
ですので、Cakeのリファレンスをみてもらうのもありかと思います。
URL:http://book.cakephp.org/2.0/ja/models/retrieving-your-data.html
では、ブログの記事を取得するを例にまとめます。
<?php $blogPost= ClassRegistry::init('BlogPost'); //テーブルを選択 $postDatas = $blogPost->find('all', ['conditions' => [ 'or' => [ //またはの場合 andの場合はこの配列を省きます。 ['BlogPost.blog_category_id' => [4,6],'BlogPost.status' => 1], //条件文の記述 ['BlogPost.blog_content_id' => [2],'BlogPost.status' => 1] //またはの記述 ] ], 'limit' =>5, //取得するカラムの制限 'order' => array('BlogPost.created DESC'), //並べ替え 'offset' => 10 //取得カラムを上から何番目から取得するか ] ); ?>
後はpostDatasに入っているデータをお好きなように取得してくるだけです。
構造を理解するならvar_dump($postDatas)を実行すると分かりますよ。
ちなみに整ったのを出力するなら
<?php print "<pre>"; print_r($postDatas); print "</pre>"; ?>とかでもいいですね。
私は分かりやすいのでこっちを使ってます。
他にも条件分はあるので、いろいろためしてみてください。
最後まで読んでいただきありがとうございました。