protected function hasRelation($key, $value, $relations)
	{
		if(is_numeric($relations)) {
			if($relations > 0) {
				return true;
			}
			return false;
		}

		foreach ($relations as $prop)
		{
			if($prop == 'assets')
			{
				if( $key === 'fields' || (! $this->resolved($value) && is_object($value) && property_exists($value, 'type') && $value->type == 'file'))
				{
					return true;
				}
				if(is_array($value) && ! empty($value))
				{
					$isAsset = true;
					foreach ($value as $subValue)
					{
						if(!$this->isUnresolvedAsset($subValue)) {
							$isAsset = false;
							break;
						}
					}
					if($isAsset) return true;
				}
			}
			if($prop === $key || 0 === strpos($prop, $key.'.'))
			{
				return true;
			}
		}

		return false;
	}
protected function hasRelation($key, $value, $relations)
	{
		if(is_numeric($relations)) {
			if($relations > 0) {
				return true;
			}
			return false;
		}

		foreach ($relations as $prop)
		{
			if($prop == 'assets')
			{
				if( $key === 'fields' || (! $this->resolved($value) && is_object($value) && property_exists($value, 'type') && $value->type == 'file'))
				{
					return true;
				}
				if(is_array($value) && ! empty($value))
				{
					$isAsset = true;
					foreach ($value as $subValue)
					{
						if(!$this->isUnresolvedAsset($subValue)) {
							$isAsset = false;
							break;
						}
					}
					if($isAsset) return true;
				}
			}
			if($prop === $key || 0 === strpos($prop, $key.'.'))
			{
				return true;
			}
		}

		return false;
	}
protected function hasRelation ( $ key , $ value , $ relations ) { if ( is_numeric ( $ relations ) ) { if ( $ relations > 0 ) { return true ; } return false ; } foreach ( $ relations as $ prop ) { if ( $ prop == 'assets' ) { if ( $ key === 'fields' || ( ! $ this -> resolved ( $ value ) && is_object ( $ value ) && property_exists ( $ value , 'type' ) && $ value -> type == 'file' ) ) { return true ; } if ( is_array ( $ value ) && ! empty ( $ value ) ) { $ isAsset = true ; foreach ( $ value as $ subValue ) { if ( ! $ this -> isUnresolvedAsset ( $ subValue ) ) { $ isAsset = false ; break ; } } if ( $ isAsset ) return true ; } } if ( $ prop === $ key || 0 === strpos ( $ prop , $ key . '.' ) ) { return true ; } } return false ; }
Check if relation exists

@param  string	$key
@param  mixed 	$value
@param  array	$relations

@return boolean
Check if relation exists