lithium\data\model\Relationship::_keys PHP Метод

_keys() защищенный Метод

Generates an array of relationship key pairs, where the keys are fields on the origin model, and values are fields on the lniked model.
protected _keys ( $keys )
    protected function _keys($keys)
    {
        if (!$keys) {
            return array();
        }
        $config = $this->_config;
        $hasType = $config['type'] === 'hasOne' || $config['type'] === 'hasMany';
        $related = Libraries::locate('models', $config[$hasType ? 'from' : 'to']);
        if (!class_exists($related)) {
            throw new ClassNotFoundException("Related model class '{$related}' not found.");
        }
        if (!$related::key()) {
            throw new ConfigException("No key defined for related model `{$related}`.");
        }
        $keys = (array) $keys;
        $related = (array) $related::key();
        if (count($keys) !== count($related)) {
            $msg = "Unmatched keys in relationship `{$config['name']}` between models ";
            $msg .= "`{$config['from']}` and `{$config['to']}`.";
            throw new ConfigException($msg);
        }
        return $hasType ? array_combine($related, $keys) : array_combine($keys, $related);
    }