"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)"
]
}}
ラピッドプロトタイピングのためのパーフェクト!