Есть ли способ получить, какие предложения "где" я добавил в свой запрос?
Я использую оператор foreach для добавления столбцов, которые я хочу добавить в предложении where для текущего запроса, но, поскольку предложение может быть пустым (столбцы не добавляются, 0 итераций в foreach), запрос будет извлекать все записи в базе данных. потому что нет ограничений, где сделано.
Конечно, я мог бы использовать булеву переменную, чтобы знать, где foreach выполняет хотя бы 1 итерацию, но я хотел бы знать, возможно ли получить информацию, связанную с запросом, который я делаю.
Сорта код, который я использую:
foreach($columns as $column => $value){
if($column!=''){
$this->db->where($column,$value);
}
}
$this->db->get('mytable');
Некоторые объяснения:
Если $ column является пустой строкой, я не добавляю ее в запрос.
$ columns var - это объект (stdClass).
Итак, если в запросе нет оператора where, я не хочу получать информацию с помощью $ this-> db-> get (). Я ищу что-то вроде
if( ! empty($this->db->where_clauses()))
$this->db->get('mytable');
Есть что-то подобное?
Спасибо.