Bolt\Storage\Collection\Relations::getField PHP Method

getField() public method

Gets a specific relation type name from the overall collection
public getField ( string $fieldName, boolean $biDirectional = false, string $contentTypeName = null, integer $contentTypeId = null ) : Relations
$fieldName string
$biDirectional boolean
$contentTypeName string
$contentTypeId integer
return Relations
    public function getField($fieldName, $biDirectional = false, $contentTypeName = null, $contentTypeId = null)
    {
        if ($biDirectional) {
            $filter = function ($el) use($fieldName, $contentTypeName, $contentTypeId) {
                /** @var Entity\Relations $el */
                if ($el->getFromContenttype() === $fieldName && $el->getFromContenttype() === $el->getToContenttype() && $el->getToId() == $contentTypeId) {
                    $el->actAsInverse();
                    return true;
                }
                if ($el->getToContenttype() === $fieldName && $el->getFromContenttype() === $contentTypeName) {
                    return true;
                }
                if ($el->getFromContenttype() === $fieldName && $el->getToContenttype() === $contentTypeName) {
                    $el->actAsInverse();
                    return true;
                }
                return false;
            };
            return $this->filter($filter);
        }
        return $this->filter(function ($el) use($fieldName) {
            /** @var Entity\Relations $el */
            return $el->getToContenttype() === $fieldName;
        });
    }