public function equals(TActiveRecord $record, $strict = false)
{
if ($record === null || get_class($this) !== get_class($record)) {
return false;
}
$tableInfo = $this->getRecordTableInfo();
$pks = $tableInfo->getPrimaryKeys();
$properties = count($pks) > 0 ? $pks : $tableInfo->getColumns()->getKeys();
$equals = true;
foreach ($properties as $prop) {
if ($strict) {
$equals = $equals && $this->getColumnValue($prop) === $record->getColumnValue($prop);
} else {
$equals = $equals && $this->getColumnValue($prop) == $record->getColumnValue($prop);
}
if (!$equals) {
return false;
}
}
return $equals;
}