select CakePHP 3 表单输入默认数组的第二项
select the second item of an array by default in form input CakePHP 3
在我的控制器中,我准备好一个数组来填充输入字段的下拉值,如下所示:
$this->loadModel('Meetings');
$meetings_query = $this->Meetings->find('list', ['keyField' => 'id', 'valueField' => 'date'])
->where( ["Meetings.date >= " => date('Y-m-d') ] )
->order( ['Meetings.date' => 'ASC'] );
$meetings_raw = $meetings_query->toArray();
$meetings = array();
foreach( $meetings_raw as $key => $value ){
if( !empty( $value ) ){
$meetings[$key] = $value->format('Y-m-d');
}
}
这将构建一个与此类似的数组:
Array ( [26] => 2016-05-25 [22] => 2016-05-28 [23] => 2016-05-30 )
然后显示为 select 字段,格式如下:
echo $this->Form->input( 'meeting_id', ['label' => 'Meeting']);
数组的第一项总是预先select在下拉列表中。我想要实现的是默认情况下始终 select 数组中的第二项。
这可能吗?
非常感谢任何帮助或指导。
// convert to array
$a = $meetings->toArray();
// extract keys to new array
// removes the first from the array
$s = array_slice(array_keys($a),0);
echo $this->Form->input( 'meeting_id', [
'label' => 'Meeting',
'default' => array_shift($s) // use first value from sliced array
]);
在我的控制器中,我准备好一个数组来填充输入字段的下拉值,如下所示:
$this->loadModel('Meetings');
$meetings_query = $this->Meetings->find('list', ['keyField' => 'id', 'valueField' => 'date'])
->where( ["Meetings.date >= " => date('Y-m-d') ] )
->order( ['Meetings.date' => 'ASC'] );
$meetings_raw = $meetings_query->toArray();
$meetings = array();
foreach( $meetings_raw as $key => $value ){
if( !empty( $value ) ){
$meetings[$key] = $value->format('Y-m-d');
}
}
这将构建一个与此类似的数组:
Array ( [26] => 2016-05-25 [22] => 2016-05-28 [23] => 2016-05-30 )
然后显示为 select 字段,格式如下:
echo $this->Form->input( 'meeting_id', ['label' => 'Meeting']);
数组的第一项总是预先select在下拉列表中。我想要实现的是默认情况下始终 select 数组中的第二项。
这可能吗?
非常感谢任何帮助或指导。
// convert to array
$a = $meetings->toArray();
// extract keys to new array
// removes the first from the array
$s = array_slice(array_keys($a),0);
echo $this->Form->input( 'meeting_id', [
'label' => 'Meeting',
'default' => array_shift($s) // use first value from sliced array
]);