Просмотров: 42558
Дата последнего изменения: 27.10.2020
Сложность урока:
4 уровень - сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.
5
Недоступно в лицензиях:
Ограничений нет
В дополнении к GetList существует еще ряд методов, которые позволяют в более короткой форме получить определенные данные:
- getById($id) - производит выборку по первичному ключу;
- getByPrimary($primary, array $parameters) - выборка по первичному ключу с возможностью указания дополнительных параметров;
Примечание: в обоих методах мы можем как передать id
в виде числа, так и явно указать какой элемент является ключом, передав массив. Массив необходимо использовать, если у вас есть несколько primary
полей. Если вы передаете в массиве элемент, который не является первичным ключом, то это будет ошибкой.
BookTable::getById(1);
BookTable::getByPrimary(array('ID' => 1));
// такие вызовы будут аналогичны следующему вызову getList:
BookTable::getList(array(
'filter' => array('=ID' => 1)
));
- getRowById($id) - производит выборку по первичному ключу, но возвращается массив данных;
$row = BookTable::getRowById($id);
// аналогичный результат можно получить так:
$result = BookTable::getById($id);
$row = $result->fetch();
// или так
$result = BookTable::getList(array(
'filter' => array('=ID' => $id)
));
$row = $result->fetch();
- getRow(array $parameters) - производит выборку не по первичному ключу, а по каким-то другим параметрам. При этом возвращается только одна запись.
$row = BookTable::getRow(array(
'filter' => array('%=TITLE' => 'Patterns%'),
'order' => array('ID')
));
// аналогичный результат можно получить так:
$result = BookTable::getList(array(
'filter' => array('%=TITLE' => 'Patterns%'),
'order' => array('ID')
'limit' => 1
));
$row = $result->fetch();