参考にさせて頂いたページ
複数Modelの連携(5/6):初心者のためのCakePHP2.0 プログラミング入門
ホストマシン環境
ゲストマシン環境
- PHP 5.3.3
- CentOS release 6.6 (Final)
- cakephp2.5.6
- mysql Ver 14.14 Distrib 5.6.21, for Linux (x86_64) using EditLine wrapper
- Apache/2.2.15 (Unix)
Model/GuestBook.phpの編集と記述内容
参考ページにならって以下の通り。
<?php
App::uses('AppModel', 'Model');
class GuestBook extends AppModel {
public $belongsTo = "MySampleData";
}
View/Controller/GuestBooksController.php
indexとaddがあるけど、今回使用しているのはindexの方です。
<?php
App::uses('AppController', 'Controller');
class GuestBooksController extends AppController {
function index(){
$datas = $this->GuestBook->find('all');
$this->set('datas',$datas);
}
function add() {
// post時の処理
if ($this->request->is('post')) {
$this->GuestBook->save($this->request->data);
}
// 表示用にテーブルのデータを取得してset
$datas = $this->GuestBook->find('all');
$this->set('datas',$datas);
}
}
View/GuestBooks/index.ctp
配列を表示するだけなので、以下の通り。
<pre>
<?php print_r($datas) ?>
</pre>
出力結果
http://192.168.33.10/cakephp/guest_books/indexにアクセスしてみると以下の通り。
Array
(
[0] => Array
(
[GuestBook] => Array
(
[id] => 1
[content] => content_1
[my_sample_data_id] => 5
)
[MySampleData] => Array
(
[id] => 5
[name] => name5
[mail] => mail5
[tel] => tel5
)
)
[1] => Array
(
[GuestBook] => Array
(
[id] => 2
[content] => content_2
[my_sample_data_id] => 6
)
[MySampleData] => Array
(
[id] => 6
[name] => name6
[mail] => mail6
[tel] => tel6
)
)
[2] => Array
(
[GuestBook] => Array
(
[id] => 3
[content] => content_3
[my_sample_data_id] => 7
)
[MySampleData] => Array
(
[id] => 7
[name] => name7
[mail] => mail7
[tel] => tel7
)
)
[3] => Array
(
[GuestBook] => Array
(
[id] => 4
[content] => content_4
[my_sample_data_id] => 5
)
[MySampleData] => Array
(
[id] => 5
[name] => name5
[mail] => mail5
[tel] => tel5
)
)
)
このソースコードについて
my_sample_data_idが5,6,7,5なので、my_sample_dataテーブルのid5,6,7のレコードがそれぞれ紐づけられる。
今回はここまで。