for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Win\Database\Orm\Traits;
use Win\Database\Orm\Model;
use Win\Database\Sql\Queries\Delete;
use Win\Database\Sql\Queries\Insert;
use Win\Database\Sql\Queries\Update;
trait WriteTrait
{
use ModelMapperTrait;
/** @var Model */
protected $model;
/**
* @param Model $model
* @return bool
*/
public function save(Model $model)
$this->model = $model;
return $this->insertOrUpdate();
}
/** @return bool */
private function insertOrUpdate()
if (!$this->modelExists()) {
$success = $this->insert();
} else {
$success = $this->update();
return $success;
private function insert()
$query = new Insert($this);
$success = $query->execute();
$this->model->setId((int) static::$db->getLastInsertId());
public function update()
$query = new Update($this);
return $query->execute();
* Remove o registro do banco
public function delete(Model $model)
$query = new Delete($this);
$query->where->add('id', '=', $model->getId());