Commit fee1b126 authored by Alexander Butenko's avatar Alexander Butenko

Allow to use where () without value parameter

parent 9142454a
......@@ -307,7 +307,7 @@ class MysqliDb
*
* @return MysqliDb
*/
public function where($whereProp, $whereValue)
public function where($whereProp, $whereValue = null)
{
$this->_where[$whereProp] = Array ("AND", $whereValue);
return $this;
......@@ -323,7 +323,7 @@ class MysqliDb
*
* @return MysqliDb
*/
public function orWhere($whereProp, $whereValue)
public function orWhere($whereProp, $whereValue = null)
{
$this->_where[$whereProp] = Array ("OR", $whereValue);
return $this;
......@@ -582,6 +582,8 @@ class MysqliDb
$comparison = ' '.$key.' ? ';
$this->_bindParam ($val);
}
} else if ($value[1] == null) {
$comparison = '';
} else {
$comparison = ' = ? ';
$this->_bindParam ($value[1]);
......
......@@ -127,13 +127,6 @@ $results = $db->get('users');
// Gives: SELECT * FROM users WHERE id=1 AND login='admin';
```
Custom Operators:
```php
$db->where("id = ? or id = ?", Array(6,2));
$res = $db->get ("users");
// Gives: SELECT * FROM users WERE id = 2 or id = 2;
```
```php
$db->where('id', Array('>=' => 50));
$results = $db->get('users');
......@@ -171,6 +164,20 @@ $results = $db->get("users");
// Gives: SELECT * FROM users where lastName <=> NULL
```
Also you can use raw where conditions:
```php
$db->where ("id != companyId");
$results = $db->get("users");
```
Or raw condition with variables:
```php
$db->where("id = ? or id = ?", Array(6,2));
$res = $db->get ("users");
// Gives: SELECT * FROM users WERE id = 2 or id = 2;
```
Optionally you can use method chaining to call where multiple times without referencing your object over an over:
```php
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment