本文整理汇总了PHP中Assert::isTypelessEqual方法的典型用法代码示例。如果您正苦于以下问题:PHP Assert::isTypelessEqual方法的具体用法?PHP Assert::isTypelessEqual怎么用?PHP Assert::isTypelessEqual使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Assert
的用法示例。
在下文中一共展示了Assert::isTypelessEqual方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unite
public function unite(Identifiable $object, Identifiable $old)
{
Assert::isNotNull($object->getId());
Assert::isTypelessEqual($object->getId(), $old->getId(), 'cannot merge different objects');
$query = OSQL::update($this->getTable());
foreach ($this->getProtoClass()->getPropertyList() as $property) {
$getter = $property->getGetter();
if ($property->getClassName() === null) {
$changed = $old->{$getter}() !== $object->{$getter}();
} else {
/**
* way to skip pointless update and hack for recursive
* comparsion.
**/
$changed = $old->{$getter}() !== $object->{$getter}() || $old->{$getter}() != $object->{$getter}();
}
if ($changed) {
$property->fillQuery($query, $object);
}
}
if (!$query->getFieldsCount()) {
return $object;
}
$this->targetizeUpdateQuery($query, $object);
return $this->doInject($query, $object);
}
示例2: fillQuery
/**
* @return InsertOrUpdateQuery
**/
public function fillQuery(InsertOrUpdateQuery $query, Prototyped $object, Prototyped $old = null)
{
if ($old) {
if ($object instanceof Identifiable) {
Assert::isNotNull($object->getId());
Assert::isTypelessEqual($object->getId(), $old->getId(), 'cannot merge different objects');
}
}
foreach ($this->getPropertyList() as $property) {
$property->fillQuery($query, $object, $old);
}
return $query;
}