在"database"屬性
的"database"屬性定義一個數據庫作為數據源。 它具有以下子屬性:
元件 | 描述 |
---|---|
"connection" | 數據庫連接的名稱 |
"execute" | 前數據檢索要執行的SQL語句的陣列(optional) |
"keyfield" | 主表中的關鍵字段(optional) |
"maintable" | 主表此應用程序(optional) |
"orderby" | 為應用程序的固定SQL的OrderBy子句(optional) |
"sql" | 用於檢索數據的SQL語句 |
將數據從數據庫
該模型包含獲取客戶,城市和鄉村從客戶表中的SQL數據庫中的記錄:
例
{
"database": {
"connection": "mysql",
"sql" :
"SELECT CustomerName, City, Country FROM Customers",
"orderby" : "CustomerName"
}
}
過濾器限制
要允許用戶過濾數據,您可以添加過濾信息到模型:
"filteritems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
排序限制
為了讓用戶對數據進行排序,您可以添加排序信息模型:
"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
更新限制
要允許用戶更新數據,可以在模型中包含的更新信息:
例
"updateItems" : [
{"item" : "CustomerName"},
{"item" : "Address"},
{"item" : "PostalCode"},
{"item" : "City"},
{"item" : "Country"}]
默認情況下,AppML將讓你篩選,排序,或更新數據,只有它在模型中指定。
數據庫連接
數據庫連接在appml_config.php定義:
appml_config.php
<?php echo("Access Forbidden");exit();?>
{
"dateformat" : "yyyy-mm-dd",
"databases": [
{
"connection" : "mysql",
"host"
: "127.0.0.1:3306",
"dbname" : "Northwind",
"username"
: "myUserId",
"password" : "myPassword"
},
{
"connection" : "googleDB",
"host" :
"192.168.1.1:3306",
"dbname" : "Northwind",
"username"
: "myUserId",
"password" : "myPassword"
},
{
"connection" : "amazonDB",
"host" :
"mydbinstance.amazon.com:3306",
"dbname" : "Northwind",
"username" : "myUserId",
"password" : "myPassword"
},
{
"connection" : "azureDB",
"host" :
"azure.cloudapp.net",
"dbname" : "Northwind",
"username" :
"myUserId",
"password" : "myPassword"
}
]
}
配置文件可以包含多個數據庫連接。
創建數據庫
由於AppML可以讓你的應用程序啟動之前執行的SQL語句,你可以使用這個如果需要創建一個數據庫:
模型
{
"database" : {
"connection" : "myCDs",
"execute" : [
"DROP
TABLE IF EXISTS CD_Catalog",
"CREATE TABLE IF NOT EXISTS CD_Catalog (CDID
INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price
NUMBER)"
]
}}
完美的快速原型!