本文整理汇总了PHP中Relation::setState方法的典型用法代码示例。如果您正苦于以下问题:PHP Relation::setState方法的具体用法?PHP Relation::setState怎么用?PHP Relation::setState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Relation
的用法示例。
在下文中一共展示了Relation::setState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createRelation
public function createRelation($sourceId, $targetId)
{
try {
$relations = $this->getAllRelationsByUserId($sourceId);
$relationToMe = null;
foreach ($relations as $relation) {
if ($relation->getSourceId() == $sourceId && $relation->getTargetId() == $targetId) {
throw new EyePeopleException('The relation already exists between the user ' . $relation->getSourceId() . ' and the user ' . $relation->getTargetId());
} else {
if ($relation->getSourceId() == $targetId && $relation->getTargetId() == $sourceId) {
$relationToMe = $relation;
throw new EyePeopleException('The relation between the user ' . $relation->getSourceId() . ' and the user ' . $relation->getTargetId() . ' exists, and must be updated');
}
}
}
$newRelation = new Relation();
$newRelation->setSourceId($sourceId);
$newRelation->setTargetId($targetId);
$newRelation->setState(STATE_PENDING);
$newRelation->setLastModification(time());
$this->provider->storeRelation($newRelation);
return $newRelation;
} catch (EyePeopleException $e) {
if ($relationToMe) {
$relationToMe->setState(STATE_ACCEPTED);
$this->provider->update($relationToMe);
} else {
throw new EyePeopleException('Unable to create the Relation ' . $relation->getId());
}
}
}