Improve API to return id instead of a boolean
This commit is contained in:
@@ -94,11 +94,18 @@ class Category extends Base
|
||||
*
|
||||
* @access public
|
||||
* @param array $values Form values
|
||||
* @return bool
|
||||
* @return bool|integer
|
||||
*/
|
||||
public function create(array $values)
|
||||
{
|
||||
return $this->db->table(self::TABLE)->save($values);
|
||||
return $this->db->transaction(function($db) use ($values) {
|
||||
|
||||
if (! $db->table(Category::TABLE)->save($values)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (int) $db->getConnection()->getLastId();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -99,20 +99,25 @@ class Comment extends Base
|
||||
*
|
||||
* @access public
|
||||
* @param array $values Form values
|
||||
* @return boolean
|
||||
* @return boolean|integer
|
||||
*/
|
||||
public function create(array $values)
|
||||
{
|
||||
$values['date'] = time();
|
||||
|
||||
if ($this->db->table(self::TABLE)->save($values)) {
|
||||
return $this->db->transaction(function($db) use ($values) {
|
||||
|
||||
if (! $db->table(Comment::TABLE)->save($values)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$comment_id = (int) $db->getConnection()->getLastId();
|
||||
$values['id'] = $comment_id;
|
||||
|
||||
$values['id'] = $this->db->getConnection()->getLastId();
|
||||
$this->event->trigger(self::EVENT_CREATE, $values);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return $comment_id;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -138,19 +138,25 @@ class SubTask extends Base
|
||||
*
|
||||
* @access public
|
||||
* @param array $values Form values
|
||||
* @return bool
|
||||
* @return bool|integer
|
||||
*/
|
||||
public function create(array $values)
|
||||
{
|
||||
$this->prepare($values);
|
||||
$result = $this->db->table(self::TABLE)->save($values);
|
||||
|
||||
if ($result) {
|
||||
$values['id'] = $this->db->getConnection()->getLastId();
|
||||
return $this->db->transaction(function($db) use ($values) {
|
||||
|
||||
if (! $db->table(SubTask::TABLE)->save($values)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$subtask_id = (int) $db->getConnection()->getLastId();
|
||||
$values['id'] = $subtask_id;
|
||||
|
||||
$this->event->trigger(self::EVENT_CREATE, $values);
|
||||
}
|
||||
|
||||
return $result;
|
||||
return $subtask_id;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -255,12 +255,20 @@ class User extends Base
|
||||
*
|
||||
* @access public
|
||||
* @param array $values Form values
|
||||
* @return boolean
|
||||
* @return boolean|integer
|
||||
*/
|
||||
public function create(array $values)
|
||||
{
|
||||
$this->prepare($values);
|
||||
return $this->db->table(self::TABLE)->save($values);
|
||||
|
||||
return $this->db->transaction(function($db) use ($values) {
|
||||
|
||||
if (! $db->table(User::TABLE)->save($values)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (int) $db->getConnection()->getLastId();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user