Build complex WHERE conditions using comparison helpers.
use tommyknocker\pdodb\helpers\Db;
$users = $db->find()
->from('users')
->where(Db::like('email', '%@example.com'))
->get();$users = $db->find()
->from('users')
->where(Db::ilike('name', 'john%'))
->get();$users = $db->find()
->from('users')
->where(Db::not(Db::like('email', '%@spam.com')))
->get();$users = $db->find()
->from('users')
->where(Db::between('age', 18, 65))
->get();
// SQL: age BETWEEN 18 AND 65$users = $db->find()
->from('users')
->where(Db::notBetween('age', 0, 17))
->get();$users = $db->find()
->from('users')
->where(Db::in('status', ['active', 'pending', 'verified']))
->get();$users = $db->find()
->from('users')
->where(Db::notIn('status', ['deleted', 'banned']))
->get();$users = $db->find()
->from('users')
->where(Db::isNull('deleted_at'))
->get();$users = $db->find()
->from('users')
->where(Db::isNotNull('email'))
->get();$users = $db->find()
->from('users')
->select([
'display_name' => Db::coalesce('username', 'email', 'Anonymous')
])
->get();$keyword = $_GET['search'];
$users = $db->find()
->from('users')
->where(function($query) use ($keyword) {
$query->where(Db::like('name', "%{$keyword}%"))
->orWhere(Db::like('email', "%{$keyword}%"))
->orWhere(Db::like('bio', "%{$keyword}%"));
})
->get();$activeUsers = $db->find()
->from('users')
->where(Db::isNull('deleted_at'))
->andWhere(Db::in('status', ['active', 'verified']))
->andWhere(Db::between('age', 18, 65))
->get();- Filtering Conditions - Complex WHERE
- String Helpers - String operations
- NULL Helpers - NULL handling