PHPやプログラムで開発をする以上データベースのデータを呼び出せないと全然意味ないですよね。
CakePHPが命名規則がうるさいからって特定のコントローラーからしかテーブルを呼び出せないわけではありましぇん!(笑
当たり前と言えば当たり前ですよね。
1つのページから3つ4つのデータベースを呼び出してコンテンツを作る事なんて普通にありますからね。
と言うわけで早速コントローラーからデータベーステーブルを呼び出して見ました。
やり方はとても簡単、まずは呼び出したいコントローラーページを開いてそこから以下の記述を追加するだけでした。
use Cake\ORM\TableRegistry; // これを追加して。 public function index() { // Table $shops = TableRegistry::get('shops'); // 呼び出したいテーブル名を指定 $query = $shops->find(); // 検索クエリです。 foreach($query as $row){ $shop .= $row['shop_url']; // データをまとめて } $this->set('shop',$shop); // ここでセットしてテンプレートViewに渡します }
ね?
めちゃくちゃ簡単でしたね。
CakePHP3の公式参考ページはこちらから
【CakePHP3】リレーションの外部テーブルをORDER BY ASCしたい件について
ポータルサイトを開発していて
都道府県→市町村→エリア と言う部分を作ったが、都道府件のプルダウンの並びが滅茶苦茶に並んでる状態だったのでハマった
やりたかった事はこちら
こんな感じで北海道から順番に並べないと気持ち悪いですよね。
Modelから操作したかったのですがControllerを操作する事で解決しました。
Areas->Preves->find()の中でテーブル名.idとする事で並び替えに成功!
CakePHP3系で地域設定と時刻設定
CakePHP3を触っていてScaffoldしてサンプルデータを追加した時に自動挿入された日付データと日時データがズレていたので調べたら地域設定がちゃんとなってなかったからでした。
config/app.php のファイルを設定するんだろうなーって分かってたんだけど、なんて入力すれば良いか分からなかったのでメモ。
早速Config/app.phpフォルダを開いて42行目の所がen-USになってる事に気付いたんだけど、ja-JPで本当に言いの?って思ったので調べてみた。
PHPなら普通に asia/tokyo じゃん?でもCakePHP3だと ja-JP で良かったみたい。
そもそも、こんな事は初期設定でヤッておくべきだなと思いました。
![]() | PHPフレームワーク CakePHP 3入門 掌田 津耶乃 秀和システム 2017-01-14
|