コード例 #1
0
<?php

include_once '../adodb.inc.php';
include_once '../adodb-active-record.inc.php';
$db = NewADOConnection('mysql://root@localhost/northwind');
$db->debug = 1;
ADOdb_Active_Record::SetDatabaseAdapter($db);
$db->Execute("CREATE TEMPORARY TABLE `persons` (\r\n\t                `id` int(10) unsigned NOT NULL auto_increment,\r\n\t                `name_first` varchar(100) NOT NULL default '',\r\n\t                `name_last` varchar(100) NOT NULL default '',\r\n\t                `favorite_color` varchar(100) NOT NULL default '',\r\n\t                PRIMARY KEY  (`id`)\r\n\t            ) ENGINE=MyISAM;\r\n\t           ");
$db->Execute("CREATE TEMPORARY TABLE `children` (\r\n\t                `id` int(10) unsigned NOT NULL auto_increment,\r\n\t\t\t\t\t`person_id` int(10) unsigned NOT NULL,\r\n\t                `name_first` varchar(100) NOT NULL default '',\r\n\t                `name_last` varchar(100) NOT NULL default '',\r\n\t                `favorite_pet` varchar(100) NOT NULL default '',\r\n\t                PRIMARY KEY  (`id`)\r\n\t            ) ENGINE=MyISAM;\r\n\t           ");
$db->Execute("insert into children (person_id,name_first,name_last) values (1,'Jill','Lim')");
$db->Execute("insert into children (person_id,name_first,name_last) values (1,'Joan','Lim')");
$db->Execute("insert into children (person_id,name_first,name_last) values (1,'JAMIE','Lim')");
ADODB_Active_Record::TableHasMany('persons', 'children', 'person_id');
class person extends ADOdb_Active_Record
{
}
$person = new person();
#	$person->HasMany('children','person_id');  ## this is affects all other instances of Person
$person->name_first = 'John';
$person->name_last = 'Lim';
$person->favorite_color = 'lavender';
$person->save();
// this save will perform an INSERT successfully
$person2 = new person();
$person2->Load('id=1');
$c = $person2->children;
if (is_array($c) && sizeof($c) == 3 && $c[0]->name_first == 'Jill' && $c[1]->name_first == 'Joan' && $c[2]->name_first == 'JAMIE') {
    echo "OK Loaded HasMany</br>";
} else {
    var_dump($c);
    echo "error loading hasMany should have 3 array elements Jill Joan Jamie<br>";