2

へえ。大文字と省略形で名前が付けられたテーブルのコントローラーとモデルを作成したいと思います。

たとえば、テーブル名は PS_DEPT_TBL です。

1) コントローラのファイル名は? PSDEPTTBL_controller.php ですか?以下のコードは、コントローラーでは機能していないようです。

class PSDEPTTBLController extends AppController {

    var $uses = 'PS_DEPT_TBL';
    var $scaffold ;

}

2) モデル ファイルに PSDEPTTBL.php という名前を付け、次のようにコーディングします。

class PSDEPTTBL extends AppModel {

    var $useTable = 'PS_DEPT_TBL';

}

しかし、エラーは、テーブルのコントローラーがないことを示しています。私はcakephpが初めてです。助けて。

4

1 に答える 1

0

コントローラーをテーブルと同じように呼び出す必要はありません。同じことがあなたのモデルにも当てはまります。

これはどうですか:

// ThingsController.php
class ThingsController extends AppController
{
    var $uses = array('Thing');
}

// Thing.php
class Thing extends AppModel
{
    var $useTable = 'PS_DEPT_TBL';
}

// Config/routes.php
Router::connect(
    '/PSDEPTTBL/:action/*', array('controller' => 'things')
);

ここでの重要なアイデアは、コードを読みやすくすることです。レガシー データベースがある場合、自分でできる最善の方法は、すべてのモデルですべてを非表示にすることです。

于 2012-04-27T21:12:38.653 に答える