Example #1
0
ar_echo(ar_assert(found($person, "'favorite_pet' => 'tortoise'")) ? "[OK] Found relation: child\n" : "[!!] Missing relation: child\n");
ar_echo(ar_assert(found($person, "'name_first' => 'Joan'")) ? "[OK] Found Joan\n" : "[!!] Find failed\n");
ar_echo(ar_assert(found($person, "'name_first' => 'JAMIE'")) ? "[OK] Found JAMIE\n" : "[!!] Find failed\n");
ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n");
ar_echo("child->Load('children.id=1') [Join Method]\n");
ar_echo("We are now loading from the 'children' table, not from 'people'\n");
ar_echo("-------------------------------------------------------------------------------------------------------------------\n");
$child = new Child();
$child->Load('children.id=1');
ar_echo(ar_assert(found($child, "'name_first' => 'Jill'")) ? "[OK] Found Jill\n" : "[!!] Find failed\n");
ar_echo(ar_assert(found($child, "'favorite_color' => 'lavender'")) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n");
ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n");
ar_echo("child->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n");
ar_echo("-------------------------------------------------------------------------------------------------------------------\n");
$child = new Child();
$children = $child->Find('id=1', false, false, array('loading' => ADODB_WORK_AR));
ar_echo(ar_assert(found($children, "'name_first' => 'Jill'")) ? "[OK] Found Jill\n" : "[!!] Find failed\n");
ar_echo(ar_assert(found($children, "'favorite_color' => 'lavender'")) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n");
ar_echo(ar_assert(notfound($children, "'name_first' => 'Joan'")) ? "[OK] No Joan relation\n" : "[!!] Find failed\n");
ar_echo(ar_assert(notfound($children, "'name_first' => 'JAMIE'")) ? "[OK] No JAMIE relation\n" : "[!!] Find failed\n");
ar_echo("\n\n-------------------------------------------------------------------------------------------------------------------\n");
ar_echo("kid->Find('children.id=1' ... ADODB_WORK_AR) [Worker Method]\n");
ar_echo("Where we see that kid shares relationships with child because they are stored\n");
ar_echo("in the common table's metadata structure.\n");
ar_echo("-------------------------------------------------------------------------------------------------------------------\n");
$kid = new Kid('children');
$kids = $kid->Find('children.id=1', false, false, array('loading' => ADODB_WORK_AR));
ar_echo(ar_assert(found($kids, "'name_first' => 'Jill'")) ? "[OK] Found Jill\n" : "[!!] Find failed\n");
ar_echo(ar_assert(found($kids, "'favorite_color' => 'lavender'")) ? "[OK] Found relation: person\n" : "[!!] Missing relation: person\n");
ar_echo(ar_assert(notfound($kids, "'name_first' => 'Joan'")) ? "[OK] No Joan relation\n" : "[!!] Find failed\n");
ar_echo(ar_assert(notfound($kids, "'name_first' => 'JAMIE'")) ? "[OK] No JAMIE relation\n" : "[!!] Find failed\n");