/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param ConnectionInterface $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(ConnectionInterface $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their corresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aUser !== null) { if ($this->aUser->isModified() || $this->aUser->isNew()) { $affectedRows += $this->aUser->save($con); } $this->setUser($this->aUser); } if ($this->aRole !== null) { if ($this->aRole->isModified() || $this->aRole->isNew()) { $affectedRows += $this->aRole->save($con); } $this->setRole($this->aRole); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } $this->alreadyInSave = false; } return $affectedRows; }
<?php use Alchemy\Component\Cerberus; $rootDir = realpath(__DIR__ . "/../../"); $config = array("db-engine" => "mysql", "db-user" => "root", "db-password" => "sample", "db-host" => "127.0.0.1", "db-name" => "cerberus"); $loader = (include $rootDir . "/vendor/autoload.php"); try { $cerberus = \Alchemy\Component\Cerberus\Cerberus::getInstance(); //$cerberus->setLocale(array("lang" => "es_ES")); $cerberus->init($config); if (!$cerberus->userExists("admin")) { $user = new Cerberus\Model\User(); $user->setUsername("admin"); $user->setPassword("example-password"); $user->save(); echo "User created: " . $user->getUsername() . "<br/>"; } $user = $cerberus->getUser("admin"); if (!$cerberus->roleExists("SYS-ADMIN")) { $role = new Cerberus\Model\Role(); $role->setName("SYS-ADMIN"); $role->save(); echo "Role created: " . $role->getName() . "<br/>"; } $role = $cerberus->getRole("SYS-ADMIN"); $user->addRole($role); $user->save(); // setting permissions if (!$cerberus->permissionExists("users-view")) { $permission = new Cerberus\Model\Permission(); $permission->setName("users-view");