private function set_associations()
{
require_once __DIR__ . '/Relationship.php';
$namespace = $this->class->getNamespaceName();
foreach ($this->class->getStaticProperties() as $name => $definitions) {
if (!$definitions) {
# || !is_array($definitions))
continue;
}
foreach (wrap_strings_in_arrays($definitions) as $definition) {
$relationship = null;
$definition += array('namespace' => $namespace);
switch ($name) {
case 'has_many':
$relationship = new HasMany($definition);
break;
case 'has_one':
$relationship = new HasOne($definition);
break;
case 'belongs_to':
$relationship = new BelongsTo($definition);
break;
case 'has_and_belongs_to_many':
$relationship = new HasAndBelongsToMany($definition);
break;
}
if ($relationship) {
$this->add_relationship($relationship);
}
}
}
}