忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/05/27 13:11 |
CakePHP-02:CakePHP再挑戦続き

前回の続き。

app/models/cake_sample.phpを作成します。
中身はとりあえずダミーのCakeSampleモデルを作成しておきます。

models/cake_sample.php

1
2
3
4
5
6
<?php
    
    class CakeSample extends AppModel {
        //自分の名前?
        var $name = 'CakeSample';
    }

その後CakeSampleControllerコントローラ内で$this->CakeSampleって指定すると勝手にCakeSampleクラスがインクルードされて使用されます。
CakeSampleモデルの親クラスAppModelに最初からある程度メソッドが揃っているので、これを使用してDBの中のcake_samplesテーブルが読めるようになるみたいです。

次にコントローラにモデルを読み出す処理を記入。

controllers/cake_sample_controller.php
1
2
3
4
5
6
7
8
9
10
<?php
    
    class CakeSampleController extends AppController{
        
            public function TestAction() {
                //CakeSampleモデルから中身を全部取得
                 $this->set('cake_sample', $this->CakeSample->find('all'));
            }
 
    }

setした変数そのものはビューからその名前で呼び出せます。

views/cake_sample/test_action.ctp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    
    print('<table>');
    foreach($cake_sample as $key=>$val){
        print('<tr><td>');
        print($val['CakeSample']['id']);
        print('</td><td>');
        print($val['CakeSample']['title']);
        print('</td><td>');
        print($val['CakeSample']['body']);
        print('</td><td>');
        print($val['CakeSample']['created']);
        print('</td></tr>');
    }
    print('</table>');

たったこれだけでデータベースの内容が表示できました。

とりあえずどのファイルがどうやって読み込まれるかとか何処に何のインスタンスが出来るかとかが全然分かってないので非常に気持ち悪い。
 
CakePHPの記事一覧
PR


2009/09/28 20:23 | Comments(0) | TrackBack(1) | PHP

トラックバック

トラックバックURL:
http://yuubiseiharukana.blog.shinobi.jp/Entry/158/の続き? CakePHPの基本は、ひとつのコントローラにひとつのテーブルです。 つまり、その状態ではリレーショナルをまともに扱うことができません。 複数のテーブルを扱いたい場合、実現には幾つかの手段があります。 単純に結合で話が済む場合は、モデルを記述することで解決されます。 とりあえず結合を使うようなテーブルを作成。   ...
弱小PHPerの憂鬱 | 2009/10/05 18:04

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<XAMPPのmy.cnfが無くなった? | HOME | 書評:「PHPサイバーテロの技法―攻撃と防御の実際」の問題点>>
忍者ブログ[PR]