for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/hubspot/license
* @link https://www.flipboxfactory.com/software/hubspot/
*/
namespace flipbox\hubspot\services\resources\traits;
use craft\base\Element;
use craft\base\ElementInterface;
use flipbox\hubspot\fields\Resources;
use flipbox\hubspot\HubSpot;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
trait HubSpotIdTrait
{
* @param ElementInterface $element
* @param Resources $field
* @return string|null
public function findHubSpotIdByElementAssociation(ElementInterface $element, Resources $field)
/** @var Element $element */
return $this->findHubSpotId($field->id, $element->getId(), $element->siteId);
}
* @noinspection PhpDocMissingThrowsInspection
*
* @param string $fieldId
* @param string $elementId
* @param string|null $siteId
* @return null|string
public function findHubSpotId(string $fieldId, string $elementId, string $siteId = null)
if ($siteId === null) {
/** @noinspection PhpUnhandledExceptionInspection */
$siteId = \Craft::$app->getSites()->getCurrentSite()->id;
$hubSpotId = HubSpot::getInstance()->getResourceAssociations()->getQuery([
'select' => ['hubSpotId'],
'elementId' => $elementId,
'siteId' => $siteId,
'fieldId' => $fieldId
])->scalar();
return is_string($hubSpotId) ? $hubSpotId : null;