php NotORM(PHP的ORM框架)示例代碼

ouhp9343 8年前發布 | 1K 次閱讀 PHP

NotORM 是一個 PHP 庫,用來簡化和數據庫的交互。最有特色的功能是處理表關聯關系非常簡單。另外 NotORM 的性能非常的高,設置高過內置的驅動。

連接數據庫

include "NotORM.php";
$pdo = new PDO("mysql:dbname=software");
$db = new NotORM($pdo);

讀取數據

foreach ($db->application() as $application) { // get all applications
    echo "$application[title]\n"; // print application title
}

條件查詢

$applications = $db->application()
    ->select("id, title")
    ->where("web LIKE ?", "http://%")
    ->order("title")
    ->limit(10)
;
foreach ($applications as $id => $application) {
    echo "$application[title]\n";
}

讀取結果

$application = $db->application[1]; // get by primary key
$application = $db->application("title = ?", "Adminer")->fetch();

處理表關聯

echo $application->author["name"] . "\n"; // get name of the application author
foreach ($application->application_tag() as $application_tag) { // get all tags of $application
    echo $application_tag->tag["name"] . "\n"; // print the tag name
}

JOIN聯合查詢

// get all applications ordered by author's name
foreach ($db->application()->order("author.name") as $application) {
    echo $application->author["name"] . ": $application[title]\n";
}

結果集分組

echo $db->application()->max("id"); // get maximum ID
foreach ($db->application() as $application) {
    // get count of each application's tags
    echo $application->application_tag()->count("*") . "\n";
}

完整例子

<?php
include "NotORM.php";
$connection = new PDO("mysql:dbname=software");
$software = new NotORM($connection);

foreach ($software->application()->order("title") as $application) { // get all applications ordered by title
    echo "$application[title]\n"; // print application title
    echo $application->author["name"] . "\n"; // print name of the application author
    foreach ($application->application_tag() as $application_tag) { // get all tags of $application
        echo $application_tag->tag["name"] . "\n"; // print the tag name
    }
}
?>
 本文由用戶 ouhp9343 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!