ElggEntity::addRelationship PHP Method

addRelationship() public method

Add a relationship between this an another entity.
See also: ElggEntity::removeRelationship()
See also: ElggEntity::deleteRelationships()
public addRelationship ( integer $guid_two, string $relationship ) : boolean
$guid_two integer GUID of the target entity of the relationship.
$relationship string The type of relationship.
return boolean
    public function addRelationship($guid_two, $relationship)
    {
        return add_entity_relationship($this->getGUID(), $relationship, $guid_two);
    }

Usage Example

Example #1
0
 public function testEntityMethodDeleteRelationships()
 {
     $this->assertTrue($this->entity1->addRelationship($this->entity2->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity2->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->addRelationship($this->entity3->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity3->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity3->addRelationship($this->entity1->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity3->guid, 'test_relationship', $this->entity1->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->deleteRelationships('test_relationship'));
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity2->guid));
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity3->guid));
     // inverse relationships should be gone too
     $this->assertFalse(check_entity_relationship($this->entity3->guid, 'test_relationship', $this->entity1->guid));
     // Repeat above test, but with no relationship - should remove all relationships
     $this->assertTrue($this->entity1->addRelationship($this->entity2->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity2->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->addRelationship($this->entity3->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity3->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity3->addRelationship($this->entity1->guid, 'test_relationship'));
     $r = check_entity_relationship($this->entity3->guid, 'test_relationship', $this->entity1->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->addRelationship($this->entity2->guid, 'test_relationship2'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship2', $this->entity2->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->addRelationship($this->entity3->guid, 'test_relationship2'));
     $r = check_entity_relationship($this->entity1->guid, 'test_relationship2', $this->entity3->guid);
     $this->assertIsA($r, 'ElggRelationship');
     $this->assertTrue($this->entity1->deleteRelationships());
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity2->guid));
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship', $this->entity3->guid));
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship2', $this->entity2->guid));
     $this->assertFalse(check_entity_relationship($this->entity1->guid, 'test_relationship2', $this->entity3->guid));
     // inverse relationships should be gone too
     $this->assertFalse(check_entity_relationship($this->entity3->guid, 'test_relationship', $this->entity1->guid));
 }