[英]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.