NotORM is a PHP library used to simplify interaction with databases. The most distinctive feature is that it is very simple to handle table relationships. In addition, the performance of NotORM is very high, and the settings are higher than the built-in driver.
Connect to database
include "NotORM.php"; $pdo = new PDO("mysql:dbname=software"); $db = new NotORM($pdo);
Read data
foreach ($db->application() as $application) { // get all applications echo "$application[title]\n"; // print application title }
Conditional query
$applications = $db->application() ->select("id, title") ->where("web LIKE ?", "http://%") ->order("title") ->limit(10) ; foreach ($applications as $id => $application) { echo "$application[title]\n"; }
Read results
$application = $db->application[1]; // get by primary key $application = $db->application("title = ?", "Adminer")->fetch();
Process table association
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 joint query
// get all applications ordered by author's name foreach ($db->application()->order("author.name") as $application) { echo $application->author["name"] . ": $application[title]\n"; }
Result set grouping
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"; }
Complete example
<?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 } } ?>