Sql select vocabulary

Материал из Eludia
Перейти к: навигация, поиск

Описание

Специальная версия sql_select_all, выбирающая список хэшей с компонентами id и label, как правило, для отображения выпадающих списков (<select>). Редко используется напрямую, поскольку обычно удобнее применять add_vocabularies.

Опция filter непосредственно копируется в выражение WHERE.

Опция in формирует дополнительный фильтр вида "id IN (...)" в выражении WHERE. В качестве её значения можно использовать строку, ссылку на список или специальное значение, возвращаемое функцией sql.

При указании опции tree используется функция tree_sort и строки списка дополняются отступами, соответствующими уровням вложенности.

Возвращаемое значение — умный (ленивый) список: по умолчанию он содержит лишь специальный объект, хранящий SQL-код запроса. Выборка извлекается при необходимости. Если требуется не весь список, а отдельные записи (что имеет место при показе полей-ссылок в режиме read only), то из БД извлекаются только они.

Синопсис (Perl 5)

$item -> {roles} = sql_select_vocabulary ('roles');
$item -> {users} = sql_select_vocabulary (users => {
  label  => "CONCAT(f, ' ', LEFT(i, 1), '. ', LEFT (o, 1), '.')",
  filter => "id_role = 1",
# in     => '1, 2, 5',
# in     => [1, 2, 5],
  in     => sql ('users_groups(id_user)' => [ [id_group => $_REQUEST {_id_group}] ]),
# not_in => sql ('users_groups(id_user)' => [ [id_group => $_REQUEST {_id_group}] ]),
  order  => "dt_birth",
});
$item -> {rubrics} = sql_select_vocabulary (rubrics => {tree => 1});
Php.jpg На этой странице упоминается Eludia.php: порт Eludia.pm на PHP. Данный проект был доведён до рабочей бета-версии, однако впоследствии заморожен и в настоящее время не поддерживается.

Синопсис (PHP)

$item [roles] = sql_select_vocabulary ('roles');
$item [users] = sql_select_vocabulary ('users', array (
 label  => "CONCAT(f, ' ', LEFT(i, 1), '. ', LEFT (o, 1), '.')",
 filter => "id_role = 1",
 order  => "dt_birth"
));
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты