MetaModels\DcGeneral\Data\Driver::sameModels PHP Method

sameModels() public method

Check if two models have the same values in all properties.
public sameModels ( ContaoCommunityAlliance\DcGeneral\Data\ModelInterface $objModel1, ContaoCommunityAlliance\DcGeneral\Data\ModelInterface $objModel2 ) : boolean
$objModel1 ContaoCommunityAlliance\DcGeneral\Data\ModelInterface The first model to compare.
$objModel2 ContaoCommunityAlliance\DcGeneral\Data\ModelInterface The second model to compare.
return boolean True - If both models are same, false if not.
    public function sameModels($objModel1, $objModel2)
    {
        if (!($objModel1 instanceof Model && $objModel2 instanceof Model)) {
            throw new \InvalidArgumentException('Passed models are not valid.');
        }
        $objNative1 = $objModel1->getItem();
        $objNative2 = $objModel2->getItem();
        if ($objNative1->getMetaModel() != $objNative2->getMetaModel()) {
            return false;
        }
        foreach ($objNative1->getMetaModel()->getAttributes() as $objAttribute) {
            if ($objNative1->get($objAttribute->getColName()) != $objNative2->get($objAttribute->getColName())) {
                return false;
            }
        }
        return true;
    }