本文整理汇总了PHP中Entity::sync方法的典型用法代码示例。如果您正苦于以下问题:PHP Entity::sync方法的具体用法?PHP Entity::sync怎么用?PHP Entity::sync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entity
的用法示例。
在下文中一共展示了Entity::sync方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testEntity
function testEntity()
{
global $_PA;
// Dal::register_query_callback("explain_query");
// see if our test entity already exists
$entity = Entity::load("PHPUnit", "TestEntity", "#1");
$this->assertNull($entity, "we shouldn't have any Entites in the service PHPUnit at this point.");
$myEntity = new TestEntity('#1');
echo "sync #1\n";
Entity::sync($myEntity);
// create a second
$myEntity2 = new TestEntity('#2');
echo "sync #2\n";
Entity::sync($myEntity2);
// modify #1
$myEntity->attributes['ThreeAttribute'] = array('value' => "Baz");
Entity::sync($myEntity);
// remove an attribute from #2
unset($myEntity2->attributes['OneAttribute']);
Entity::sync($myEntity2);
$myEntity3 = new TestEntity('#3');
Entity::sync($myEntity3);
$myEntity4 = new TestEntity('#4');
$myEntity4->attributes['ThreeAttribute'] = array('value' => "Baz");
$myEntity4->attributes['fourAttribute'] = array('value' => "4");
Entity::sync($myEntity4);
// test attribute search
// Dal::register_query_callback("explain_query");
$foundEntities = Entity::search(array('entity_service' => 'PHPUnit', 'entity_type' => 'TestEntity'), array('OneAttribute' => 'F', 'TwoAttribute' => 'b', 'ThreeAttribute' => 'b', 'FourAttribute' => '4'));
// Dal::unregister_query_callback("explain_query");
echo "\nfound " . count($foundEntities) . " entities by attribute search:\n";
foreach ($foundEntities as $i => $e) {
echo "entity: '{$e['entity_service']}:{$e['entity_type']}:{$e['entity_id']}\n";
}
// Dal::register_query_callback("explain_query");
$foundEntities = Entity::search(array(), array('FourAttribute' => '4'));
// Dal::unregister_query_callback("explain_query");
echo "\nfound " . count($foundEntities) . " entities by attribute search:\n";
foreach ($foundEntities as $i => $e) {
echo "entity: '{$e['entity_service']}:{$e['entity_type']}:{$e['entity_id']}\n";
}
$testEntities = Entity::search(array('entity_service' => 'PHPUnit', 'entity_type' => 'TestEntity'));
echo "\nfound " . count($testEntities) . " test entities:\n";
// load test entities
foreach ($testEntities as $i => $e) {
echo "entity: '{$e['entity_service']}:{$e['entity_type']}:{$e['entity_id']}\n";
// print_r(Entity::load($e['entity_service'], $e['entity_type'], $e['entity_id'])); echo "\n";
}
// clean up test entities
foreach ($testEntities as $i => $e) {
Entity::delete($e['entity_service'], $e['entity_type'], $e['entity_id']);
}
// test again
$testEntities = Entity::search(array('entity_service' => 'PHPUnit'));
$this->assertEquals(count($testEntities), 0, "There should no longer be any Entities in the PHPUnit service.");
}
示例2: sync
public static function sync($entity)
{
$_ent = Entity::load($entity->entity_service, $entity->entity_type, $entity->entity_id);
if (empty($_ent)) {
self::update_user_points($entity->attributes);
} else {
self::update_user_points($entity->attributes, $_ent->attributes);
}
parent::sync($entity);
}
示例3: sync
public static function sync($data)
{
$entity = (object) array('entity_service' => 'typedGroup', 'entity_type' => $data['type'], 'entity_id' => $data['group_id'], 'entity_name' => $data['name'], 'attributes' => $data);
parent::sync($entity);
// also update the group that this corresponds to
$g = new Group();
try {
$g->load((int) $data['group_id']);
$g->group_type = 'typedgroup';
$g->save();
} catch (PAException $e) {
throw $e;
}
}