如何将第一个下拉值设为无
Posted
技术标签:
【中文标题】如何将第一个下拉值设为无【英文标题】:How to get the first drop down value as none 【发布时间】:2018-08-25 13:56:54 【问题描述】:我从以下代码中获得了所需的选项,但我需要添加一个空选项作为返回数组的第一个值 '' => '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();
然而,这仅给出数据库中的值。
【问题讨论】:
这不是主要与视图相关吗?模型层获取的数据不要乱用,在模板/视图中添加空的option
即可。
【参考方案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"
【讨论】:
以上是关于如何将第一个下拉值设为无的主要内容,如果未能解决你的问题,请参考以下文章
如何在 bigquery 中使用 rowid 按日期获取数据集的第一个值,并将给定日期的所有其他值设为 0