require_once dirname(__FILE__) . '/../../YDFramework2/YDF2_init.php';
$user = new User();
// Let's begin
echo "<h1>Let's start working with relations</h1>";
echo "<p>Let's load the \"address\" relation so we can start.</p>";
echo "<p>The loadRelation method includes the necessary files in the relation and instantiates<br>";
echo "the relation objects as parameters of the current object.</p>";
// Let's truncate the table
$user->executeSql('TRUNCATE ' . $user->address->getTable());
echo "<p>Let's check if I have my address defined. This relation is a One-to-One relationship. My ID = 1.</p>";
$user->id = 1;
// you don't have to pass the relation id if you want to use the same as last time
$total = $user->findRelation();
echo "<p>I have " . $total . " addresses defined? That's not true. We have 1 row returned because<br>";
echo "this is a LEFT join. Let's see the results in the address object.</p>";
echo "<p>See? So let's add an address.</p>";
$user->address->user_id = $user->id;
$user->address->address = 'Street';
$user->address->city = 'City';
$user->address->state = 'State';
$user->address->country = 'Country';
echo "<p>Done. Now I'll check again if I have any addresses.</p>";
// I reset all info so I'll just check with my ID
// The resetRelation method executes a reset at each related object
echo "<h1>We have a Many-to-Many relation</h1>";
echo "<p>This type of relation needs an additional database object (table) to handle the relation.</p>";
echo "<p>When we load this type of relation 2 objects are instantiated. The foreign object and the join object.</p>";
// Let's truncate the join table
$user->executeSql('TRUNCATE ' . $user->join_groups->getTable());
echo "<p>Let's add me to the \"Yellow Duck Framework Group\".</p>";
$user->join_groups->user_id = 1;
$user->join_groups->group_id = 1;
$user->join_groups->joined = '20040916';
$user->join_groups->active = 1;
echo "<p>Done. Now I can get the results of the relation if I want.</p>";
$user->user_id = 1;
echo "<p>And I have some info of the joining table.</p>";
echo "<p>And my own information, of course.</p>";
echo "<p>Let's do some more adding.</p>";
// Myself to the second group
$user->join_groups->user_id = 1;
$user->join_groups->group_id = 2;
$user->join_groups->active = 1;
// Pieter to the first group
$user->join_groups->user_id = 2;