mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Merging fixes to trunk
Revision: [1778] Fixing a few more bugs in the model code Revision: [1777] Fixes to Model::save() that allows saving a new record when primary key is not auto generated in database. Added the DboSource::hasAny() back to the code. git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1779 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
83d00fc93a
commit
7eb2555405
3 changed files with 18 additions and 5 deletions
|
@ -161,7 +161,7 @@ class DboSource extends DataSource
|
||||||
*/
|
*/
|
||||||
function one ($sql)
|
function one ($sql)
|
||||||
{
|
{
|
||||||
if ($this->query($sql))
|
if ($this->execute($sql))
|
||||||
{
|
{
|
||||||
return $this->fetchArray();
|
return $this->fetchArray();
|
||||||
}
|
}
|
||||||
|
@ -760,6 +760,19 @@ class DboSource extends DataSource
|
||||||
$this->close();
|
$this->close();
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the specified table contains any record matching specified SQL
|
||||||
|
*
|
||||||
|
* @param string $table Name of table to look in
|
||||||
|
* @param string $sql SQL WHERE clause (condition only, not the "WHERE" part)
|
||||||
|
* @return boolean True if the table has a matching record, else false
|
||||||
|
*/
|
||||||
|
function hasAny($table, $sql)
|
||||||
|
{
|
||||||
|
$out = $this->one("SELECT COUNT(*) AS count FROM {$table}".($sql? " WHERE {$sql}":""));
|
||||||
|
return is_array($out)? $out[0]['count']: false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -919,11 +919,11 @@ class Model extends Object
|
||||||
if ($this->id)
|
if ($this->id)
|
||||||
{
|
{
|
||||||
$id = $this->id;
|
$id = $this->id;
|
||||||
if (is_array($id) && count($id) == 1)
|
if (is_array($id))
|
||||||
{
|
{
|
||||||
$id = $id[0];
|
$id = $id[0];
|
||||||
}
|
}
|
||||||
return $this->hasAny($this->escapeField($this->primaryKey).'='.$this->db->value($id));
|
return $this->db->hasAny($this->table,$this->primaryKey.'='.$this->db->value($id));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -916,11 +916,11 @@ class Model extends Object
|
||||||
if ($this->id)
|
if ($this->id)
|
||||||
{
|
{
|
||||||
$id = $this->id;
|
$id = $this->id;
|
||||||
if (is_array($id) && count($id) == 1)
|
if (is_array($id))
|
||||||
{
|
{
|
||||||
$id = $id[0];
|
$id = $id[0];
|
||||||
}
|
}
|
||||||
return $this->hasAny($this->escapeField($this->primaryKey).'='.$this->db->value($id));
|
return $this->db->hasAny($this->table,$this->primaryKey.'='.$this->db->value($id));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue