public function testInit() { @unlink('test.db'); ActiveRecord::setDb(new PDO('sqlite:test.db')); ActiveRecord::execute("CREATE TABLE IF NOT EXISTS user (\n id INTEGER PRIMARY KEY, \n name TEXT, \n password TEXT \n );"); ActiveRecord::execute("CREATE TABLE IF NOT EXISTS contact (\n id INTEGER PRIMARY KEY, \n user_id INTEGER, \n email TEXT,\n address TEXT\n );"); }
public function connectDb($config) { /** * Это, конечно, не самое красивое решение, но лучше уж написать код * проще, чем вводить какие-нибудь там конфиги только для одного-един- * ственного файла. */ $c = (include PATH_APPLICATION . '/config/' . $config); $this->mysqli = new MysqliE($c['hostname'], $c['username'], $c['password'], $c['database']); if ($this->mysqli->connect_error) { throw new Exception('Connect error:' . $this->mysqli->connect_error); } ActiveRecord::setDb($this->mysqli); return $this; }
include "ActiveRecord.php"; //include "ActiveRecord.min.php"; class User extends ActiveRecord { public $table = 'user'; public $primaryKey = 'id'; public $relations = array('contacts' => array(self::HAS_MANY, 'Contact', 'user_id'), 'contact' => array(self::HAS_ONE, 'Contact', 'user_id', 'where' => '1', 'order' => 'id desc')); } class Contact extends ActiveRecord { public $table = 'contact'; public $primaryKey = 'id'; public $relations = array('user' => array(self::BELONGS_TO, 'User', 'user_id')); } ActiveRecord::setDb(new PDO('sqlite:test.db', null, null, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION))); try { ActiveRecord::execute("CREATE TABLE IF NOT EXISTS user ("); ActiveRecord::execute("select * from aaa"); } catch (Exception $e) { var_export($e); } ActiveRecord::execute("CREATE TABLE IF NOT EXISTS user (\n\t\t\t\tid INTEGER PRIMARY KEY, \n\t\t\t\tname TEXT, \n\t\t\t\tpassword TEXT \n\t\t\t);"); ActiveRecord::execute("CREATE TABLE IF NOT EXISTS contact (\n\t\t\t\tid INTEGER PRIMARY KEY, \n\t\t\t\tuser_id INTEGER, \n\t\t\t\temail TEXT,\n\t\t\t\taddress TEXT\n\t\t\t);"); $user = new User(); $user->name = 'demo'; $user->password = md5('demo'); var_dump($user->insert()); $contact = new Contact(); $contact->address = 'test'; $contact->email = '*****@*****.**';
//include "ActiveRecord.php"; include "ActiveRecord.min.php"; class User extends ActiveRecord { public $table = 'user'; public $primaryKey = 'id'; public $relations = array('contacts' => array(self::HAS_MANY, 'Contact', 'user_id'), 'contact' => array(self::HAS_ONE, 'Contact', 'user_id', 'where' => '1', 'order' => 'id desc')); } class Contact extends ActiveRecord { public $table = 'contact'; public $primaryKey = 'id'; public $relations = array('user' => array(self::BELONGS_TO, 'User', 'user_id')); } ActiveRecord::setDb(new PDO('sqlite:test.db')); ActiveRecord::execute("CREATE TABLE IF NOT EXISTS user (\n\t\t\t\tid INTEGER PRIMARY KEY, \n\t\t\t\tname TEXT, \n\t\t\t\tpassword TEXT \n\t\t\t);"); ActiveRecord::execute("CREATE TABLE IF NOT EXISTS contact (\n\t\t\t\tid INTEGER PRIMARY KEY, \n\t\t\t\tuser_id INTEGER, \n\t\t\t\temail TEXT,\n\t\t\t\taddress TEXT\n\t\t\t);"); /* $user = new User(); $user->name = 'demo'; $user->password = md5('demo'); var_dump($user->insert()); $contact = new Contact(); $contact->address = 'test'; $contact->email = '*****@*****.**'; $contact->user_id = $user->id; var_dump($contact->insert()); */ /*