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";
- }
复制代码
完整例子
- 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
- }
- }
- ?>
复制代码
|