lithium\tests\mocks\data\MockSource::relationship PHP Method

relationship() public method

public relationship ( $class, $type, $name, array $config = [] )
$config array
    public function relationship($class, $type, $name, array $config = array())
    {
        $field = Inflector::underscore(Inflector::singularize($name));
        $key = "{$field}_id";
        $primary = $class::meta('key');
        if (is_array($primary)) {
            $key = array_combine($primary, $primary);
        } elseif ($type === 'hasMany' || $type === 'hasOne') {
            if ($type === 'hasMany') {
                $field = Inflector::pluralize($field);
            }
            $secondary = Inflector::underscore(Inflector::singularize($class::meta('name')));
            $key = array($primary => "{$secondary}_id");
        }
        $from = $class;
        $fieldName = $field;
        $config += compact('type', 'name', 'key', 'from', 'fieldName');
        return $this->_instance('relationship', $config);
    }