Как получить первое выпадающее значение как нет
Я получаю нужные параметры из следующего кода, но мне нужно добавить пустую опцию в качестве первого значения возвращаемого массива как '' => 'none',
тогда остальные ценности.
function dropdown() {
return db_select('node', 'n')
->condition('n.type', 'abc')
->condition('n.status', 1)
->fields('n', array('nid', 'title'))
->orderBy('n.title', 'ASC')
->execute()
->fetchAllKeyed();
}
Это, однако, дает только значения из базы данных.
1 ответ
Решение
Вы можете добавить запись перед тем, как вернуть данные:
function dropdown() {
$data = db_select('node', 'n')
->condition('n.type', 'abc')
->condition('n.status', 1)
->fields('n', array('nid', 'title'))
->orderBy('n.title', 'ASC')
->execute()
->fetchAllKeyed();
return ['' => 'none'] + $data ;
}
Возможный вывод:
array(463) {
['']=>
string(4) "none"
[367]=>
string(7) "Title 1"
[63]=>
string(7) "Title 2"
...
}
Если для ваших условий нет доступных узлов, он вернет:
array(1) {
[""]=>
string(4) "none"
}