本文整理汇总了PHP中Espo\ORM\Entity::has方法的典型用法代码示例。如果您正苦于以下问题:PHP Entity::has方法的具体用法?PHP Entity::has怎么用?PHP Entity::has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Espo\ORM\Entity
的用法示例。
在下文中一共展示了Entity::has方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleAfterSaveAccounts
protected function handleAfterSaveAccounts(Entity $entity, array $options)
{
$accountIdChanged = $entity->has('accountId') && $entity->get('accountId') != $entity->getFetched('accountId');
$titleChanged = $entity->has('title') && $entity->get('title') != $entity->getFetched('title');
if ($accountIdChanged) {
$accountId = $entity->get('accountId');
if (empty($accountId)) {
$this->unrelate($entity, 'accounts', $entity->getFetched('accountId'));
return;
}
}
if ($titleChanged) {
if (empty($accountId)) {
$accountId = $entity->getFetched('accountId');
if (empty($accountId)) {
return;
}
}
}
if ($accountIdChanged || $titleChanged) {
$pdo = $this->getEntityManager()->getPDO();
$sql = "\n SELECT id, role FROM account_contact\n WHERE\n account_id = " . $pdo->quote($accountId) . " AND\n contact_id = " . $pdo->quote($entity->id) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if ($row = $sth->fetch()) {
if ($titleChanged && $entity->get('title') != $row['role']) {
$this->updateRelation($entity, 'accounts', $accountId, array('role' => $entity->get('title')));
}
} else {
if ($accountIdChanged) {
$this->relate($entity, 'accounts', $accountId, array('role' => $entity->get('title')));
}
}
}
}
示例2: beforeSave
public function beforeSave(Entity $entity)
{
if (!$entity->has('executeTime')) {
$entity->set('executeTime', date('Y-m-d H:i:s'));
}
if (!$entity->has('attempts')) {
$attempts = $this->getConfig()->get('cron.attempts', 0);
$entity->set('attempts', $attempts);
}
}
示例3: checkIsOwner
public function checkIsOwner(User $user, Entity $entity)
{
if ($entity->has('parentId') && $entity->has('parentType')) {
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
if (!$parentType || !$parentId) {
return;
}
$parent = $this->getEntityManager()->getEntity($parentType, $parentId);
if ($parent && $parent->has('assignedUserId') && $parent->get('assignedUserId') === $user->id) {
return true;
}
}
return;
}
示例4: afterSave
public function afterSave(Entity $entity)
{
if ($this->getConfig()->get('assignmentEmailNotifications') && $entity->has('assignedUserId') && in_array($entity->getEntityName(), $this->getConfig()->get('assignmentEmailNotificationsEntityList', array()))) {
$userId = $entity->get('assignedUserId');
if (!empty($userId) && $userId != $this->getUser()->id && $entity->isFieldChanged('assignedUserId')) {
$job = $this->getEntityManager()->getEntity('Job');
$job->set(array('serviceName' => 'EmailNotification', 'method' => 'notifyAboutAssignmentJob', 'data' => json_encode(array('userId' => $userId, 'assignerUserId' => $this->getUser()->id, 'entityId' => $entity->id, 'entityType' => $entity->getEntityName())), 'executeTime' => date('Y-m-d H:i:s')));
$this->getEntityManager()->saveEntity($job);
}
}
}
示例5: process
public function process(Entity $entity)
{
if ($entity->has('assignedUserId') && $entity->get('assignedUserId')) {
$assignedUserId = $entity->get('assignedUserId');
if ($assignedUserId != $this->getUser()->id && $entity->isFieldChanged('assignedUserId')) {
$notification = $this->getEntityManager()->getEntity('Notification');
$notification->set(array('type' => 'Assign', 'userId' => $assignedUserId, 'data' => array('entityType' => $entity->getEntityType(), 'entityId' => $entity->id, 'entityName' => $entity->get('name'), 'isNew' => $entity->isNew(), 'userId' => $this->getUser()->id, 'userName' => $this->getUser()->get('name'))));
$this->getEntityManager()->saveEntity($notification);
}
}
}
示例6: checkIsOwner
public function checkIsOwner(User $user, Entity $entity)
{
if ($entity->has('assignedUserId')) {
if ($user->id === $entity->get('assignedUserId')) {
return true;
}
}
if ($user->id === $entity->get('createdById')) {
return true;
}
return false;
}
示例7: checkInTeam
public function checkInTeam(User $user, Entity $entity)
{
if ($entity->has('campaignId')) {
$campaignId = $entity->get('campaignId');
if (!$campaignId) {
return;
}
$campaign = $this->getEntityManager()->getEntity('Campaign', $campaignId);
if ($campaign && $this->getAclManager()->getImplementation('Campaign')->checkInTeam($user, $campaign)) {
return true;
}
}
return;
}
示例8: storeEntity
protected function storeEntity(Entity $entity)
{
$assignedUserId = $entity->get('assignedUserId');
if ($assignedUserId && $entity->has('usersIds')) {
$usersIds = $entity->get('usersIds');
if (!is_array($usersIds)) {
$usersIds = array();
}
if (!in_array($assignedUserId, $usersIds)) {
$usersIds[] = $assignedUserId;
$entity->set('usersIds', $usersIds);
$hash = $entity->get('usersNames');
if ($hash instanceof \stdClass) {
$hash->assignedUserId = $entity->get('assignedUserName');
$entity->set('usersNames', $hash);
}
}
}
return parent::storeEntity($entity);
}
示例9: handleAfterSaveContacts
protected function handleAfterSaveContacts(Entity $entity, array $options)
{
$contactIdChanged = $entity->has('contactId') && $entity->get('contactId') != $entity->getFetched('contactId');
if ($contactIdChanged) {
$contactId = $entity->get('contactId');
if (empty($contactId)) {
$this->unrelate($entity, 'contacts', $entity->getFetched('contactId'));
return;
}
}
if ($contactIdChanged) {
$pdo = $this->getEntityManager()->getPDO();
$sql = "\n SELECT id FROM case_contact\n WHERE\n contact_id = " . $pdo->quote($contactId) . " AND\n case_id = " . $pdo->quote($entity->id) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if (!$sth->fetch()) {
$this->relate($entity, 'contacts', $contactId);
}
}
}
示例10: handleSpecifiedRelations
protected function handleSpecifiedRelations(Entity $entity)
{
$relationTypes = array($entity::HAS_MANY, $entity::MANY_MANY, $entity::HAS_CHILDREN);
foreach ($entity->getRelations() as $name => $defs) {
if (in_array($defs['type'], $relationTypes)) {
$fieldName = $name . 'Ids';
$columnsFieldsName = $name . 'Columns';
if ($entity->has($fieldName) || $entity->has($columnsFieldsName)) {
if ($this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.noSave")) {
continue;
}
if ($entity->has($fieldName)) {
$specifiedIds = $entity->get($fieldName);
} else {
$specifiedIds = array();
foreach ($entity->get($columnsFieldsName) as $id => $d) {
$specifiedIds[] = $id;
}
}
if (is_array($specifiedIds)) {
$toRemoveIds = array();
$existingIds = array();
$toUpdateIds = array();
$existingColumnsData = new \stdClass();
$defs = array();
$columns = $this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.columns");
if (!empty($columns)) {
$columnData = $entity->get($columnsFieldsName);
$defs['additionalColumns'] = $columns;
}
$foreignCollection = $entity->get($name, $defs);
if ($foreignCollection) {
foreach ($foreignCollection as $foreignEntity) {
$existingIds[] = $foreignEntity->id;
if (!empty($columns)) {
$data = new \stdClass();
foreach ($columns as $columnName => $columnField) {
$foreignId = $foreignEntity->id;
$data->{$columnName} = $foreignEntity->get($columnField);
}
$existingColumnsData->{$foreignId} = $data;
$entity->setFetched($columnsFieldsName, $existingColumnsData);
}
}
}
if ($entity->has($fieldName)) {
$entity->setFetched($fieldName, $existingIds);
}
if ($entity->has($columnsFieldsName) && !empty($columns)) {
$entity->setFetched($columnsFieldsName, $existingColumnsData);
}
foreach ($existingIds as $id) {
if (!in_array($id, $specifiedIds)) {
$toRemoveIds[] = $id;
} else {
if (!empty($columns)) {
foreach ($columns as $columnName => $columnField) {
if ($columnData->{$id}->{$columnName} != $existingColumnsData->{$id}->{$columnName}) {
$toUpdateIds[] = $id;
}
}
}
}
}
foreach ($specifiedIds as $id) {
if (!in_array($id, $existingIds)) {
$data = null;
if (!empty($columns) && isset($columnData->{$id})) {
$data = $columnData->{$id};
}
$this->relate($entity, $name, $id, $data);
}
}
foreach ($toRemoveIds as $id) {
$this->unrelate($entity, $name, $id);
}
if (!empty($columns)) {
foreach ($toUpdateIds as $id) {
$data = $columnData->{$id};
$this->updateRelation($entity, $name, $id, $data);
}
}
}
}
}
}
}
示例11: noteStatus
public function noteStatus(Entity $entity, $field)
{
$note = $this->getEntityManager()->getEntity('Note');
$note->set('type', 'Status');
$note->set('parentId', $entity->id);
$note->set('parentType', $entity->getEntityType());
if ($entity->has('accountId') && $entity->get('accountId')) {
$note->set('superParentId', $entity->get('accountId'));
$note->set('superParentType', 'Account');
}
$style = 'default';
$entityType = $entity->getEntityType();
$value = $entity->get($field);
$statusStyles = $this->getStatusStyles();
if (!empty($statusStyles[$entityType]) && !empty($statusStyles[$entityType][$value])) {
$style = $statusStyles[$entityType][$value];
}
$note->set('data', array('field' => $field, 'value' => $value, 'style' => $style));
$this->getEntityManager()->saveEntity($note);
}
示例12: handleSpecifiedRelations
protected function handleSpecifiedRelations(Entity $entity)
{
$relationTypeList = [$entity::HAS_MANY, $entity::MANY_MANY, $entity::HAS_CHILDREN];
foreach ($entity->getRelations() as $name => $defs) {
if (in_array($defs['type'], $relationTypeList)) {
$fieldName = $name . 'Ids';
$columnsFieldsName = $name . 'Columns';
if ($entity->has($fieldName) || $entity->has($columnsFieldsName)) {
if ($this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.noSave")) {
continue;
}
if ($entity->has($fieldName)) {
$specifiedIds = $entity->get($fieldName);
} else {
$specifiedIds = array();
foreach ($entity->get($columnsFieldsName) as $id => $d) {
$specifiedIds[] = $id;
}
}
if (is_array($specifiedIds)) {
$toRemoveIds = array();
$existingIds = array();
$toUpdateIds = array();
$existingColumnsData = new \stdClass();
$defs = array();
$columns = $this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.columns");
if (!empty($columns)) {
$columnData = $entity->get($columnsFieldsName);
$defs['additionalColumns'] = $columns;
}
$foreignCollection = $entity->get($name, $defs);
if ($foreignCollection) {
foreach ($foreignCollection as $foreignEntity) {
$existingIds[] = $foreignEntity->id;
if (!empty($columns)) {
$data = new \stdClass();
foreach ($columns as $columnName => $columnField) {
$foreignId = $foreignEntity->id;
$data->{$columnName} = $foreignEntity->get($columnField);
}
$existingColumnsData->{$foreignId} = $data;
$entity->setFetched($columnsFieldsName, $existingColumnsData);
}
}
}
if ($entity->has($fieldName)) {
$entity->setFetched($fieldName, $existingIds);
}
if ($entity->has($columnsFieldsName) && !empty($columns)) {
$entity->setFetched($columnsFieldsName, $existingColumnsData);
}
foreach ($existingIds as $id) {
if (!in_array($id, $specifiedIds)) {
$toRemoveIds[] = $id;
} else {
if (!empty($columns)) {
foreach ($columns as $columnName => $columnField) {
if ($columnData->{$id}->{$columnName} != $existingColumnsData->{$id}->{$columnName}) {
$toUpdateIds[] = $id;
}
}
}
}
}
foreach ($specifiedIds as $id) {
if (!in_array($id, $existingIds)) {
$data = null;
if (!empty($columns) && isset($columnData->{$id})) {
$data = $columnData->{$id};
}
$this->relate($entity, $name, $id, $data);
}
}
foreach ($toRemoveIds as $id) {
$this->unrelate($entity, $name, $id);
}
if (!empty($columns)) {
foreach ($toUpdateIds as $id) {
$data = $columnData->{$id};
$this->updateRelation($entity, $name, $id, $data);
}
}
}
}
} else {
if ($defs['type'] === $entity::HAS_ONE) {
if (empty($defs['entity']) || empty($defs['foreignKey'])) {
return;
}
if ($this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.noSave")) {
continue;
}
$foreignEntityType = $defs['entity'];
$foreignKey = $defs['foreignKey'];
$idFieldName = $name . 'Id';
$nameFieldName = $name . 'Name';
if (!$entity->has($idFieldName)) {
return;
}
$where = array();
//.........这里部分代码省略.........
示例13: parseValue
protected function parseValue(Entity $entity, $field, $value, $params = array())
{
$decimalMark = '.';
if (!empty($params['decimalMark'])) {
$decimalMark = $params['decimalMark'];
}
$defaultCurrency = 'USD';
if (!empty($params['defaultCurrency'])) {
$defaultCurrency = $params['defaultCurrency'];
}
$dateFormat = 'Y-m-d';
if (!empty($params['dateFormat'])) {
if (!empty($this->dateFormatsMap[$params['dateFormat']])) {
$dateFormat = $this->dateFormatsMap[$params['dateFormat']];
}
}
$timeFormat = 'H:i';
if (!empty($params['timeFormat'])) {
if (!empty($this->timeFormatsMap[$params['timeFormat']])) {
$timeFormat = $this->timeFormatsMap[$params['timeFormat']];
}
}
$fieldDefs = $entity->getFields();
if (!empty($fieldDefs[$field])) {
$type = $fieldDefs[$field]['type'];
switch ($type) {
case Entity::DATE:
$dt = \DateTime::createFromFormat($dateFormat, $value);
if ($dt) {
return $dt->format('Y-m-d');
}
break;
case Entity::DATETIME:
$dt = \DateTime::createFromFormat($dateFormat . ' ' . $timeFormat, $value);
if ($dt) {
return $dt->format('Y-m-d H:i');
}
break;
case Entity::FLOAT:
$currencyField = $field . 'Currency';
if ($entity->hasField($currencyField)) {
if (!$entity->has($currencyField)) {
$entity->set($currencyField, $defaultCurrency);
}
}
$a = explode($decimalMark, $value);
$a[0] = preg_replace('/[^A-Za-z0-9\\-]/', '', $a[0]);
if (count($a) > 1) {
return $a[0] . '.' . $a[1];
} else {
return $a[0];
}
break;
}
}
return $value;
}
示例14: storeEntityEmailAddress
public function storeEntityEmailAddress(Entity $entity)
{
$email = trim($entity->get('emailAddress'));
$emailAddressData = null;
if ($entity->has('emailAddressData')) {
$emailAddressData = $entity->get('emailAddressData');
}
$pdo = $this->getEntityManager()->getPDO();
if ($emailAddressData !== null && is_array($emailAddressData)) {
$previousEmailAddressData = array();
if (!$entity->isNew()) {
$previousEmailAddressData = $this->getEmailAddressData($entity);
}
$hash = array();
foreach ($emailAddressData as $row) {
$key = $row->emailAddress;
if (!empty($key)) {
$hash[$key] = array('primary' => $row->primary ? true : false, 'optOut' => $row->optOut ? true : false, 'invalid' => $row->invalid ? true : false);
}
}
$hashPrev = array();
foreach ($previousEmailAddressData as $row) {
$key = $row->emailAddress;
if (!empty($key)) {
$hashPrev[$key] = array('primary' => $row->primary ? true : false, 'optOut' => $row->optOut ? true : false, 'invalid' => $row->invalid ? true : false);
}
}
$primary = false;
$toCreate = array();
$toUpdate = array();
$toRemove = array();
foreach ($hash as $key => $data) {
$new = true;
$changed = false;
if ($hash[$key]['primary']) {
$primary = $key;
}
if (array_key_exists($key, $hashPrev)) {
$new = false;
$changed = $hash[$key]['optOut'] != $hashPrev[$key]['optOut'] || $hash[$key]['invalid'] != $hashPrev[$key]['invalid'];
if ($hash[$key]['primary']) {
if ($hash[$key]['primary'] == $hashPrev[$key]['primary']) {
$primary = false;
}
}
}
if ($new) {
$toCreate[] = $key;
}
if ($changed) {
$toUpdate[] = $key;
}
}
foreach ($hashPrev as $key => $data) {
if (!array_key_exists($key, $hash)) {
$toRemove[] = $key;
}
}
foreach ($toRemove as $address) {
$emailAddress = $this->getByAddress($address);
if ($emailAddress) {
$query = "\n\t\t\t\t\t\t\tUPDATE entity_email_address\n\t\t\t\t\t\t\tSET `deleted` = 1, `primary` = 0\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tentity_id = " . $pdo->quote($entity->id) . " AND\n\t\t\t\t\t\t\t\tentity_type = " . $pdo->quote($entity->getEntityName()) . " AND\n\t\t\t\t\t\t\t\temail_address_id = " . $pdo->quote($emailAddress->id) . "\n\t\t\t\t\t\t";
$sth = $pdo->prepare($query);
$sth->execute();
}
}
foreach ($toUpdate as $address) {
$emailAddress = $this->getByAddress($address);
if ($emailAddress) {
$emailAddress->set(array('optOut' => $hash[$address]['optOut'], 'invalid' => $hash[$address]['invalid']));
$this->save($emailAddress);
}
}
foreach ($toCreate as $address) {
$emailAddress = $this->getByAddress($address);
if (!$emailAddress) {
$emailAddress = $this->get();
$emailAddress->set(array('name' => $address, 'optOut' => $hash[$address]['optOut'], 'invalid' => $hash[$address]['invalid']));
$this->save($emailAddress);
} else {
if ($emailAddress->get('optOut') != $hash[$address]['optOut'] || $emailAddress->get('invalid') != $hash[$address]['invalid']) {
$emailAddress->set(array('optOut' => $hash[$address]['optOut'], 'invalid' => $hash[$address]['invalid']));
$this->save($emailAddress);
}
}
$query = "\n\t\t\t\t\t\tINSERT entity_email_address \n\t\t\t\t\t\t\t(entity_id, entity_type, email_address_id, `primary`)\n\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t" . $pdo->quote($entity->id) . ",\n\t\t\t\t\t\t\t\t" . $pdo->quote($entity->getEntityName()) . ",\n\t\t\t\t\t\t\t\t" . $pdo->quote($emailAddress->id) . ",\n\t\t\t\t\t\t\t\t" . $pdo->quote($address === $primary) . "\n\t\t\t\t\t\t\t)\n\t\t\t\t\t";
$sth = $pdo->prepare($query);
$sth->execute();
}
if ($primary) {
$emailAddress = $this->getByAddress($primary);
if ($emailAddress) {
$query = "\n\t\t\t\t\t\t\tUPDATE entity_email_address\n\t\t\t\t\t\t\tSET `primary` = 0\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tentity_id = " . $pdo->quote($entity->id) . " AND\n\t\t\t\t\t\t\t\tentity_type = " . $pdo->quote($entity->getEntityName()) . " AND\n\t\t\t\t\t\t\t\t`primary` = 1 AND \n\t\t\t\t\t\t\t\tdeleted = 0\n\t\t\t\t\t\t";
$sth = $pdo->prepare($query);
$sth->execute();
$query = "\n\t\t\t\t\t\t\tUPDATE entity_email_address\n\t\t\t\t\t\t\tSET `primary` = 1\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tentity_id = " . $pdo->quote($entity->id) . " AND\n\t\t\t\t\t\t\t\tentity_type = " . $pdo->quote($entity->getEntityName()) . " AND\n\t\t\t\t\t\t\t\temail_address_id = " . $pdo->quote($emailAddress->id) . " AND \n\t\t\t\t\t\t\t\tdeleted = 0\n\t\t\t\t\t\t";
$sth = $pdo->prepare($query);
$sth->execute();
}
}
//.........这里部分代码省略.........
示例15: createQueue
public function createQueue(Entity $massEmail, $isTest = false, $additionalTargetList = [])
{
if (!$isTest && $massEmail->get('status') !== 'Pending') {
throw new Error("Mass Email '" . $massEmail->id . "' should be 'Pending'.");
}
if (!$isTest) {
$existingQueueItemList = $this->getEntityManager()->getRepository('EmailQueueItem')->where(array('status' => ['Pending', 'Failed'], 'massEmailId' => $massEmail->id))->find();
foreach ($existingQueueItemList as $existingQueueItem) {
$this->getEntityManager()->getMapper('RDB')->deleteFromDb('EmailQueueItem', $existingQueueItem->id);
}
}
$targetHash = array();
$entityList = [];
$pdo = $this->getEntityManager()->getPDO();
if (!$isTest) {
if (!$massEmail->has('excludingTargetListsIds')) {
$massEmail->loadLinkMultipleField('excludingTargetLists');
}
$excludingTargetListIdList = $massEmail->get('excludingTargetListsIds');
$targetListCollection = $massEmail->get('targetLists');
foreach ($targetListCollection as $targetList) {
$accountList = $targetList->get('accounts', array('additionalColumnsConditions' => array('optedOut' => false)));
foreach ($accountList as $account) {
$hashId = $account->getEntityType() . '-' . $account->id;
if (!empty($targetHash[$hashId])) {
continue;
}
$toExclude = false;
foreach ($excludingTargetListIdList as $excludingTargetListId) {
$sql = "\n SELECT id FROM account_target_list\n WHERE\n account_id = " . $pdo->quote($account->id) . " AND\n target_list_id = " . $pdo->quote($excludingTargetListId) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if ($sth->fetch()) {
$toExclude = true;
break;
}
}
if ($toExclude) {
continue;
}
$entityList[] = $account;
$targetHash[$hashId] = true;
}
$contactList = $targetList->get('contacts', array('additionalColumnsConditions' => array('optedOut' => false)));
foreach ($contactList as $contact) {
$hashId = $contact->getEntityType() . '-' . $contact->id;
if (!empty($targetHash[$hashId])) {
continue;
}
$toExclude = false;
foreach ($excludingTargetListIdList as $excludingTargetListId) {
$sql = "\n SELECT id FROM contact_target_list\n WHERE\n contact_id = " . $pdo->quote($contact->id) . " AND\n target_list_id = " . $pdo->quote($excludingTargetListId) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if ($sth->fetch()) {
$toExclude = true;
break;
}
}
if ($toExclude) {
continue;
}
$entityList[] = $contact;
$targetHash[$hashId] = true;
}
$leadList = $targetList->get('leads', array('additionalColumnsConditions' => array('optedOut' => false)));
foreach ($leadList as $lead) {
$hashId = $lead->getEntityType() . '-' . $lead->id;
if (!empty($targetHash[$hashId])) {
continue;
}
$toExclude = false;
foreach ($excludingTargetListIdList as $excludingTargetListId) {
$sql = "\n SELECT id FROM lead_target_list\n WHERE\n lead_id = " . $pdo->quote($lead->id) . " AND\n target_list_id = " . $pdo->quote($excludingTargetListId) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if ($sth->fetch()) {
$toExclude = true;
break;
}
}
if ($toExclude) {
continue;
}
$entityList[] = $lead;
$targetHash[$hashId] = true;
}
$userList = $targetList->get('users', array('additionalColumnsConditions' => array('optedOut' => false)));
foreach ($userList as $user) {
$hashId = $user->getEntityType() . '-' . $user->id;
if (!empty($targetHash[$hashId])) {
continue;
}
$toExclude = false;
foreach ($excludingTargetListIdList as $excludingTargetListId) {
$sql = "\n SELECT id FROM target_list_user\n WHERE\n user_id = " . $pdo->quote($user->id) . " AND\n target_list_id = " . $pdo->quote($excludingTargetListId) . " AND\n deleted = 0\n ";
$sth = $pdo->prepare($sql);
$sth->execute();
if ($sth->fetch()) {
$toExclude = true;
//.........这里部分代码省略.........