Есть несколько библиотеков Activerecord Styleled Query Builder. Некоторые стоят одинокие, а некоторые встроены в рамки. Тем не менее, у них действительно есть проблемы с тем, где и наличие предложений, когда дело доходит до сложного SQL. Установка других баз данных - я пытаюсь придумать метод MySQL и PostgreSQL, где () метод, который мог бы исправить эти текущие падения метода. Тем не менее, я не могу решить все варианты использования , и я чувствую, что мое частичное решение небрежно. Любой, кто может ответить на что -то, что решает все эти проблемы, не только ответит на этот вопрос, но и будет отвечать за решение проблемы, которая уже несколько лет преследует реализации PHP. = Equal
Not Equal
> Greater Than
< Less Than
>= Greater Than Or Equal
5
WHERE column IS NULL
WHERE column IN (1, 2, 3)
WHERE column NOT IN (1, 2, 3)
WHERE column IN (SELECT column FROM t2)
WHERE column IN (SELECT c3 FROM t2 WHERE c2 = table.column + 10)
WHERE column BETWEEN 32 AND 34
WHERE column BETWEEN (SELECT c3 FROM t2 WHERE c2 = table.column + 10) AND 100
WHERE EXISTS (SELECT column FROM t2 WHERE c2 > table.column)
Существует много общих форматов Activerecord, которые предложение Where () использует в различных библиотеках Current .
$this->db->where(array('session_id' => '?', 'username' => '?'));
$this->db->fetch(array($id, $username));
// vs with is_int($key)
$this->db->where(array('session_id', 'username'));
$this->db->fetch(array($id, $username));
// vs with is_string($where)
$this->db->where('session_id', '?');
$this->db->where('username');
$this->db->fetch(array($id, $username));
// vs with is_array($value)
$this->db->where('session_id', '?');
$this->db->where('username', array('Sam', 'Bob'));
$this->db->fetch(array($id));
< /code>
Вот окончательный формат, который у меня есть до сих пор. Он должен обрабатывать группировку (...) и (...) , а также подготовленные операторы, связанные с гранижными параметрами ("?" & ": Имя").
function where($column, $op = '=', $value = '?', $group = FALSE){}
// Single line
$this->db->where('column > 5');
$this->db->where('column IS NULL');
// Column + condition
$this->db->where('column', '=');
// WHERE column = ? (prepared statement)
$this->db->where('column', '');
// WHERE column ? (prepared statement)
// Column + condition + values
$this->db->where('column', '=', 5);
// // WHERE column = 5
$this->db->where('column', 'IN', '(SELECT column FROM t2)');
// WHERE column IN (SELECT column FROM t2)
$this->db->where('column', 'IN', array(1,2,3));
// WHERE column IN (1, 2, 3)
$this->db->where('column', 'NOT IN', array(1,2,3));
// WHERE column NOT IN (1, 2, 3)
// column + condition + values + group
$this->db->where(
array(
array('column', '', 10)
),
NULL,
NULL,
$group = TRUE
);
// WHERE (column < 20 AND column > 10)
Подробнее здесь: https://stackoverflow.com/questions/192 ... ry-builder
Как справиться с комплексом, где положения с помощью PHP -строителя [закрыто] ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как справиться с сложными, где положения с помощью PHP -строителя запросов
Anonymous » » в форуме Php - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как справиться с сложными, где положения с помощью PHP -строителя запросов
Anonymous » » в форуме Php - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как справиться с сложными, где положения с помощью PHP -строителя запросов
Anonymous » » в форуме Php - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-