Condition

A class that represents a single SQL condition. It is used to build WHERE and HAVING clauses.

Constants

Methods

get($column, $operator, $value, $columnJoin, $paramName, $conjunction, $parameterized)

Factory method to create a new Condition object with specified column, operator, and value.

Example:

use Staple\Query\Condition;

$condition = Condition::get('status', '=', 'active');

equal($column, $value, $columnJoin, $paramName, $conjunction, $parameterized)

Creates an equality (=) condition. If the value is NULL, it automatically uses the IS operator.

Example:

use Staple\Query\Condition;

$condition = Condition::equal('id', 123);
// Result: id = :id (with parameter id = 123)

notEqual($column, $value, $columnJoin, $paramName, $conjunction, $parameterized)

Creates a non-equality (<>) condition. If the value is NULL, it automatically uses the IS NOT operator.

Example:

use Staple\Query\Condition;

$condition = Condition::notEqual('status', 'deleted');
// Result: status <> :status

like($column, $value, $columnJoin, $paramName, $conjunction, $parameterized)

Creates a LIKE condition for pattern matching.

Example:

use Staple\Query\Condition;

$condition = Condition::like('name', 'John%');
// Result: name LIKE :name

notLike($column, $value, $columnJoin, $paramName, $conjunction, $parameterized)

Creates a NOT LIKE condition.

Example:

use Staple\Query\Condition;

$condition = Condition::notLike('email', '%@example.com');
// Result: email NOT LIKE :email

null($column, $conjunction)

Creates an IS NULL condition for the specified column.

Example:

use Staple\Query\Condition;

$condition = Condition::null('deleted_at');
// Result: deleted_at IS NULL

in($column, $values, $paramName, $conjunction, $parameterized)

Creates an IN condition, allowing the column to match any value in the provided array or Select query.

Example:

use Staple\Query\Condition;

$condition = Condition::in('category_id', [1, 2, 3]);
// Result: category_id IN (:category_id_in_1, :category_id_in_2, :category_id_in_3)

between($column, $start, $end, $startParamName, $endParamName, $conjunction, $parameterized)

Creates a BETWEEN condition to check if a column value falls within a range.

Example:

use Staple\Query\Condition;

$condition = Condition::between('price', 10, 50);
// Result: price BETWEEN :price_start AND :price_end

statement($statement)

Creates a condition from a raw SQL statement. Use with caution to avoid SQL injection.

Example:

use Staple\Query\Condition;

$condition = Condition::statement('DATE(created_at) = CURDATE()');
// Result: (DATE(created_at) = CURDATE())