/** * @param $keyValue * @param AbstractModel $model */ public function setModelPrimaryKey($keyValue, AbstractModel $model) { if (!$keyValue) { return; } $modelCacheData = $this->queryBuilder->getModelDataCache(); if (isset($modelCacheData[get_class($model)])) { foreach ($modelCacheData[get_class($model)]['tableData']->getPrimaryKey() as $primaryKey) { $setter = "set" . ucfirst($primaryKey); if (method_exists($model, $setter)) { $model->{$setter}($keyValue); } } } }