CrudKit\Data\SQLDataProvider::getRelationshipValues PHP Method

getRelationshipValues() public method

public getRelationshipValues ( $id, $foreign )
    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();
    }