public function getRelationshipValues($id, $foreign)
{
$builder = $this->conn->createQueryBuilder();
$forColumn = $this->columns[$foreign];
$forOpts = $forColumn->options;
if ($forOpts['fk_type'] === "manyToOne") {
$statement = $builder->select(array($forOpts['fk_name_col'] . " AS label", $forOpts['fk_primary'] . " AS id"))->from($forOpts['fk_table'])->setMaxResults(100)->execute();
return $statement->fetchAll(PDO::FETCH_ASSOC);
} else {
if ($forOpts['fk_type'] === "oneToMany") {
/**
* @var $extProvider SQLiteDataProvider
*/
$extProvider = $forOpts['fk_provider'];
return $extProvider->getForeignValues($forOpts['fk_extKey'], $id);
} else {
//TODO: Throw library-specific exceptions
throw new \Exception("Unknown relationship value");
}
}
return array();
}