Allow where table1.colum=table2.colum on ModelMySQL.
This commit is contained in:
parent
2d377eb803
commit
8f1c00ebdf
@ -26,15 +26,16 @@ class ModelMySQL {
|
|||||||
static protected $tableSufix = 's';
|
static protected $tableSufix = 's';
|
||||||
static protected $db;
|
static protected $db;
|
||||||
static protected $querySelect = [
|
static protected $querySelect = [
|
||||||
'select' => '*',
|
'select' => '*',
|
||||||
'where' => '',
|
'where' => '',
|
||||||
'leftJoin' => '',
|
'from' => '',
|
||||||
|
'leftJoin' => '',
|
||||||
'rightJoin' => '',
|
'rightJoin' => '',
|
||||||
'innerJoin' => '',
|
'innerJoin' => '',
|
||||||
'AndOr' => '',
|
'AndOr' => '',
|
||||||
'orderBy'=>'',
|
'orderBy' => '',
|
||||||
'groupBy'=>'',
|
'groupBy' => '',
|
||||||
'limit' => '',
|
'limit' => '',
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -104,7 +105,7 @@ class ModelMySQL {
|
|||||||
* Contiene la sentencia SQL.
|
* Contiene la sentencia SQL.
|
||||||
*/
|
*/
|
||||||
private static function buildQuery() {
|
private static function buildQuery() {
|
||||||
$sql = 'SELECT '.static::$querySelect['select']:
|
$sql = 'SELECT '.static::$querySelect['select'];
|
||||||
|
|
||||||
if (static::$querySelect['from'] != '') {
|
if (static::$querySelect['from'] != '') {
|
||||||
$sql .= ' FROM '.static::$querySelect['from'];
|
$sql .= ' FROM '.static::$querySelect['from'];
|
||||||
@ -326,11 +327,14 @@ class ModelMySQL {
|
|||||||
* @param string $value
|
* @param string $value
|
||||||
* El valor el valor a comparar en la columna.
|
* El valor el valor a comparar en la columna.
|
||||||
*
|
*
|
||||||
|
* @param $is_colum
|
||||||
|
* Se usa cuando $value es una columna de la tabla y no un valor
|
||||||
|
*
|
||||||
* Sintaxis posibles:
|
* Sintaxis posibles:
|
||||||
* - static::where(columna, operador, valor)
|
* - static::where(columna, operador, valor)
|
||||||
* - static::where(columna, valor) // Operador por defecto "="
|
* - static::where(columna, valor) // Operador por defecto "="
|
||||||
*/
|
*/
|
||||||
public static function where($column, $operator, $value=null) {
|
public static function where($column, $operator, $value=null, $is_colum = false) {
|
||||||
if (is_null($value)) {
|
if (is_null($value)) {
|
||||||
$value = $operator;
|
$value = $operator;
|
||||||
$operator = '=';
|
$operator = '=';
|
||||||
@ -338,7 +342,10 @@ class ModelMySQL {
|
|||||||
|
|
||||||
$value = static::db()->real_escape_string($value);
|
$value = static::db()->real_escape_string($value);
|
||||||
|
|
||||||
static::$querySelect['where'] = "$column$operator'$value'";
|
if ($is_colum)
|
||||||
|
static::$querySelect['where'] = "$column$operator$value";
|
||||||
|
else
|
||||||
|
static::$querySelect['where'] = "$column$operator'$value'";
|
||||||
|
|
||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
@ -480,12 +487,15 @@ class ModelMySQL {
|
|||||||
* @param string $value
|
* @param string $value
|
||||||
* El valor el valor a comparar en la columna.
|
* El valor el valor a comparar en la columna.
|
||||||
*
|
*
|
||||||
|
* @param $is_colum
|
||||||
|
* Se usa cuando $value es una columna de la tabla y no un valor
|
||||||
|
*
|
||||||
* Sintaxis posibles:
|
* Sintaxis posibles:
|
||||||
* - static::and(columna, operador, valor)
|
* - static::and(columna, operador, valor)
|
||||||
* - static::and(columna, valor) // Operador por defecto "="
|
* - static::and(columna, valor) // Operador por defecto "="
|
||||||
* - static::and(columna, valor)->and(columna, valor)->and(columna, valor) // anidado
|
* - static::and(columna, valor)->and(columna, valor)->and(columna, valor) // anidado
|
||||||
*/
|
*/
|
||||||
public static function and($column, $operator, $value=null) {
|
public static function and($column, $operator, $value=null, $is_colum = false) {
|
||||||
if (is_null($value)) {
|
if (is_null($value)) {
|
||||||
$value = $operator;
|
$value = $operator;
|
||||||
$operator = '=';
|
$operator = '=';
|
||||||
@ -493,7 +503,10 @@ class ModelMySQL {
|
|||||||
|
|
||||||
$value = static::db()->real_escape_string($value);
|
$value = static::db()->real_escape_string($value);
|
||||||
|
|
||||||
static::$querySelect['AndOr'] .= " AND $column$operator'$value'";
|
if ($is_colum)
|
||||||
|
static::$querySelect['AndOr'] .= " AND $column$operator$value";
|
||||||
|
else
|
||||||
|
static::$querySelect['AndOr'] .= " AND $column$operator'$value'";
|
||||||
|
|
||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
@ -510,12 +523,15 @@ class ModelMySQL {
|
|||||||
* @param string $value
|
* @param string $value
|
||||||
* El valor el valor a comparar en la columna.
|
* El valor el valor a comparar en la columna.
|
||||||
*
|
*
|
||||||
|
* @param $is_colum
|
||||||
|
* Se usa cuando $value es una columna de la tabla y no un valor
|
||||||
|
*
|
||||||
* Sintaxis posibles:
|
* Sintaxis posibles:
|
||||||
* - static::or(columna, operador, valor)
|
* - static::or(columna, operador, valor)
|
||||||
* - static::or(columna, valor) // Operador por defecto "="
|
* - static::or(columna, valor) // Operador por defecto "="
|
||||||
* - static::or(columna, valor)->or(columna, valor)->or(columna, valor) // anidado
|
* - static::or(columna, valor)->or(columna, valor)->or(columna, valor) // anidado
|
||||||
*/
|
*/
|
||||||
public static function or($column, $operator, $value=null) {
|
public static function or($column, $operator, $value=null, $is_colum = false) {
|
||||||
if (is_null($value)) {
|
if (is_null($value)) {
|
||||||
$value = $operator;
|
$value = $operator;
|
||||||
$operator = '=';
|
$operator = '=';
|
||||||
@ -523,7 +539,10 @@ class ModelMySQL {
|
|||||||
|
|
||||||
$value = static::db()->real_escape_string($value);
|
$value = static::db()->real_escape_string($value);
|
||||||
|
|
||||||
static::$querySelect['AndOr'] .= " OR $column$operator'$value'";
|
if ($is_colum)
|
||||||
|
static::$querySelect['AndOr'] .= " OR $column$operator$value";
|
||||||
|
else
|
||||||
|
static::$querySelect['AndOr'] .= " OR $column$operator'$value'";
|
||||||
|
|
||||||
return new static();
|
return new static();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user