本文整理汇总了PHP中Espo\ORM\Entity::hasAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP Entity::hasAttribute方法的具体用法?PHP Entity::hasAttribute怎么用?PHP Entity::hasAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Espo\ORM\Entity
的用法示例。
在下文中一共展示了Entity::hasAttribute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isPermittedTeams
public function isPermittedTeams(Entity $entity)
{
$assignmentPermission = $this->getAcl()->get('assignmentPermission');
if (empty($assignmentPermission) || $assignmentPermission === true || !in_array($assignmentPermission, ['team', 'no'])) {
return true;
}
if (!$entity->hasAttribute('teamsIds')) {
return true;
}
$teamIds = $entity->get('teamsIds');
if (empty($teamIds)) {
return true;
}
$newIds = [];
if (!$entity->isNew()) {
$existingIds = [];
foreach ($entity->get('teams') as $team) {
$existingIds[] = $team->id;
}
foreach ($teamIds as $id) {
if (!in_array($id, $existingIds)) {
$newIds[] = $id;
}
}
} else {
$newIds = $teamIds;
}
if (empty($newIds)) {
return true;
}
$userTeamIds = $this->getUser()->get('teamsIds');
foreach ($newIds as $id) {
if (!in_array($id, $userTeamIds)) {
return false;
}
}
return true;
}
示例2: checkIsOwnContact
public function checkIsOwnContact(User $user, Entity $entity)
{
$contactId = $user->get('contactId');
if ($contactId) {
if ($entity->hasAttribute('contactId')) {
if ($entity->get('contactId') === $contactId) {
return true;
}
}
if ($entity->hasRelation('contacts')) {
$repository = $this->getEntityManager()->getRepository($entity->getEntityType());
if ($repository->isRelated($entity, 'contacts', $contactId)) {
return true;
}
}
if ($entity->hasAttribute('parentId') && $entity->hasRelation('parent')) {
if ($entity->get('parentType') === 'Contact') {
if ($entity->get('parentId') === $contactId) {
return true;
}
}
}
}
return false;
}
示例3: checkInTeam
public function checkInTeam(User $user, Entity $entity)
{
$userTeamIdList = $user->getLinkMultipleIdList('teams');
if (!$entity->hasRelation('teams') || !$entity->hasAttribute('teamsIds')) {
return false;
}
$entityTeamIdList = $entity->getLinkMultipleIdList('teams');
if (empty($entityTeamIdList)) {
return false;
}
foreach ($userTeamIdList as $id) {
if (in_array($id, $entityTeamIdList)) {
return true;
}
}
return false;
}
示例4: handlePhoneNumberSave
protected function handlePhoneNumberSave(Entity $entity)
{
if ($entity->hasRelation('phoneNumbers') && $entity->hasAttribute('phoneNumber')) {
$emailAddressRepository = $this->getEntityManager()->getRepository('PhoneNumber')->storeEntityPhoneNumber($entity);
}
}