0

私は現在、tblOrders、tblUsers、tblProducts などの注文を追跡するためのいくつかの単純なテーブルを持つ MySQL サーバー データベースをセットアップしています。

私は現在問題なく動作する Web サイトを持っていますが、PHP ページで手書きのクエリを使用するのではなく、データベースとのやり取りを処理するためのサーバー側フレームワークとして機能するように CakePHP をセットアップしたいと考えています。

既存のデータベース/テーブルで CakePHP をセットアップする簡単な方法はありますか?

私が正しく理解していれば、コントローラーを拡張するメインの MyApplication クラスと、それぞれ MyApplication クラスを拡張する Order、User、Product、(... 他のテーブル) クラスがあります。

REST ガイドでは、構成ファイルで というメソッドを使用しているようですRouter::mapResources('recipes');。これにより、REST に使用する既定のメソッドを使用して各テーブルのコントローラーが作成されますか?

つまり、/app/config/routes.php 設定ファイルで:

// /app/config/routes.php
Router::mapResources('tblOrders');
Router::mapResources('tblUsers');
Router::mapResources('tblProducts');

// /app/config/database.php
<?php
class DATABASE_CONFIG {
    public $default = array(
        'datasource'  => 'Database/myStoreDB',
        'persistent'  => false,
        'host'        => 'localhost',
        'login'       => 'admin_user',
        'password'    => 'c4k3roxx!',
        'database'    => 'main_db',
        'prefix'      => ''
    );
}
4

1 に答える 1

3

モデル、コントローラー、ビューのコードを作成したい場合は、ベーキングを探しています。

Cake は、データベーステーブルが命名規則に従っていることを期待しています。あなたのテーブルがこの慣例と一致しないため、ベイクがどのように行われるかわかりません。useTableモデル クラスを手動で作成し、各クラスで属性を指定する必要がある場合があります。例えば:

<?php
class Order extends AppModel {
    public $useTable = 'tblOrders';
}

これが完了すると、コントローラーとビューのベイクが正常に機能するはずです。mapResourcesコントローラ コードが必要であることに注意してください。その関数はルートを生成するだけです。

このデータベースに影響を与えるのが Cake だけである場合は、予想される規則に従ってテーブルと列の名前を変更することをお勧めします。

于 2012-11-13T22:16:21.357 に答える