簡體   English   中英

使用現有數據庫設置CakePHP

[英]Setup CakePHP with an existing Database

我目前正在設置一個MySQL服務器數據庫,該數據庫具有一些用於跟蹤訂單的簡單表,例如tblOrders,tblUsers,tblProducts。

盡管我現在有一個可以正常使用的網站,但我想將CakePHP設置為服務器端框架,以處理與數據庫的交互,而不是在PHP頁面中使用手寫查詢。

有沒有一種簡單的方法可以用我現有的數據庫/表設置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'      => ''
    );
}

如果要為您創建模型,控制器和視圖代碼,則需要進行烘烤

Cake希望您的數據庫表遵循命名約定 我不確定烘烤會如何進行,因為您的餐桌與該約定不符。 您可能需要手動創建模型類,並在每個類上指定useTable屬性。 例如:

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

完成此操作后,我希望對Controllers和Views的烘焙應能正常進行。 請注意,使用mapResources仍需要控制器代碼。 該功能只是生成路線。

如果Cake是唯一要使用此數據庫的東西,我建議按照其期望的約定重命名表和列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM