複数Modelの連携 (2/6)
作成:2011-12-19 07:58
更新:2011-12-19 07:58
更新:2011-12-19 07:58
■scaffoldでプロジェクトを表示する
では、とりあえず作成したguestbooksにアクセスするWebアプリを用意しましょう。これは、scaffoldを利用すれば簡単に作成できますね。
「Controller」フォルダの中に、新たに「GuestBooksController.php」というファイルを作成してください。そしてこの中に、下記掲載のソースコードを記述します。これでコントローラーは完成です。
続いて、肝心のModelも作成しましょう。「Model」フォルダの中に「GuestBook.php」ファイルを作成し、下記掲載のようにソースコードを記述してください。まだ、この段階では、Modelの連携などは行なっていません。
ここまでできたら、実際にhttp://〇〇/guest_books/にアクセスしてみましょう。そして、ダミーデータを幾つか入力してみてください。注意したいのは、my_sample_data_idの値です(Scaffoldでは、「My Sample Data」という項目名で表示されます)。これには、関連するMySampleDataのID番号をあらかじめ調べて記入しておきます。まだModelを連携していないので、このあたりは手作業で行わなければいけません。ちょっと面倒ですが、今の段階では我慢、我慢。
これで、MySampleDataと、それに関連するGuestBookという2つのModelが用意できました。今の段階では、両者には何の関連性も見られないことがわかります。ただテーブルに関連するModelのIDを保管する項目を用意しただけでは何も変化は起こりません。
「Controller」フォルダの中に、新たに「GuestBooksController.php」というファイルを作成してください。そしてこの中に、下記掲載のソースコードを記述します。これでコントローラーは完成です。
続いて、肝心のModelも作成しましょう。「Model」フォルダの中に「GuestBook.php」ファイルを作成し、下記掲載のようにソースコードを記述してください。まだ、この段階では、Modelの連携などは行なっていません。
ここまでできたら、実際にhttp://〇〇/guest_books/にアクセスしてみましょう。そして、ダミーデータを幾つか入力してみてください。注意したいのは、my_sample_data_idの値です(Scaffoldでは、「My Sample Data」という項目名で表示されます)。これには、関連するMySampleDataのID番号をあらかじめ調べて記入しておきます。まだModelを連携していないので、このあたりは手作業で行わなければいけません。ちょっと面倒ですが、今の段階では我慢、我慢。
これで、MySampleDataと、それに関連するGuestBookという2つのModelが用意できました。今の段階では、両者には何の関連性も見られないことがわかります。ただテーブルに関連するModelのIDを保管する項目を用意しただけでは何も変化は起こりません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※GuestBooksController.php <?php App::uses('AppController', 'Controller'); class GuestBooksController extends AppController { public $scaffold; } ※GuestBook.php <?php App::uses('AppModel', 'Model'); class GuestBook extends AppModel {
※関連コンテンツ
「初心者のためのCakePHP2 プログラミング入門」に戻る