【发布时间】:2016-01-11 05:00:12
【问题描述】:
我需要从find() 的数据中构建一个选择下拉列表。
当我执行递归查找时:
$parlamentarios = $this->Revocatorio->Parlamentario->find('all', array('recursive' => 2));
它返回以下内容:
array(
(int) 0 => array(
'Parlamentario' => array(
'id' => '1',
'postulacion_id' => '4',
'created' => '2016-01-10 20:29:47',
'periodo_id' => '1',
'voto_parlamento' => '4000'
),
'Postulacion' => array(
'id' => '4',
'registro_id' => '2',
'comite_id' => '5',
'periodo_id' => '1',
'fecha_elec' => '2016-01-23',
'created' => '2016-01-03 20:40:18',
'voto' => '0',
'Registro' => array(
'id' => '2',
'cedula' => '',
'nacionalidad' => '1',
'nombre' => '',
'seg_nombre' => '',
'apellido' => '',
'seg_apellido' => '',
'genero' => true,
'fecha_nac' => '-',
'lugar_nac' => 'Portuguesa',
'fecha_reg' => '2015-12-02',
'direccion' => 'aijhaoihdwaoih',
'edad' => '21',
'foto' => '1 LOGO UNERG.jpg',
'foto_dir' => '2',
'leer' => true,
'escribir' => true,
'discapacidad' => 'ninguna',
'aptitud' => true,
'estado_civil' => 'Casado/a',
'ccregistro_id' => '0',
'name' => ' - '
),
'Comite' => array(
'id' => '5',
'comite' => 'awdawdawdawd'
),
'Periodo' => array(
'id' => '1',
'periodo' => '2015-2017'
),
'Escrutinio' => array(),
'Revocatorio' => array()
),
'Periodo' => array(
'id' => '1',
'periodo' => '2015-2017',
'Ccregistro' => array(),
'Escrutinio' => array(),
'Postulacion' => array(
(int) 0 => array(
'id' => '2',
'registro_id' => '3',
'comite_id' => '3',
'periodo_id' => '1',
'fecha_elec' => '2015-12-24',
'created' => '2015-12-22 05:42:21',
'voto' => '200'
),
(int) 1 => array(
'id' => '3',
'registro_id' => '2',
'comite_id' => '1',
'periodo_id' => '1',
'fecha_elec' => '2016-01-20',
'created' => '2016-01-03 05:46:46',
'voto' => '0'
),
(int) 2 => array(
'id' => '4',
'registro_id' => '2',
'comite_id' => '5',
'periodo_id' => '1',
'fecha_elec' => '2016-01-23',
'created' => '2016-01-03 20:40:18',
'voto' => '0'
),
(int) 3 => array(
'id' => '5',
'registro_id' => '3',
'comite_id' => '9',
'periodo_id' => '1',
'fecha_elec' => '2016-01-21',
'created' => '2016-01-03 20:41:03',
'voto' => '0'
),
(int) 4 => array(
'id' => '6',
'registro_id' => '3',
'comite_id' => '11',
'periodo_id' => '1',
'fecha_elec' => '2016-01-14',
'created' => '2016-01-03 21:06:27',
'voto' => '0'
),
(int) 5 => array(
'id' => '7',
'registro_id' => '2',
'comite_id' => '1',
'periodo_id' => '1',
'fecha_elec' => '2016-01-22',
'created' => '2016-01-04 02:38:17',
'voto' => '0'
)
)
),
'Escrutinio' => array(),
'Revocatorio' => array()
),
关系是:
Revocatorio hasMany Parlamentario
Parlamentario hasMany Postulacion
Postulacion hasMany Registro
我需要保存Parlamentario 的id,但在添加视图中显示Postulacion.Registro.name。我怎样才能做到这一点?
【问题讨论】:
-
我理解你的意思吗?你想用 Parlamentario.id => Parlamentario.Postulacion.Registraro.name 创建一个selectbox?
-
但可能有多个 Postulacion 和 Multiple Registro - 例如,一个 Parlamentario.id 有 3 个名称。在您看来,生成的选择框应该是什么样子?你能在你的问题中添加一个你想实现的示例结果吗?
-
一个例子可以是这个......在我的 find() 中做这样的事情 $parlamentarios = $this->Revocatorio->Parlamentario->find('list', array('recursive' = > 2, array('fields' => array('Palarmetario.id', 'Postulacion.Registro.id')); 但字段 'Postulacion.Registro.id' 在 sql 上显示错误
-
我的意思是结果应该是什么样子。
-
类似
array( (int) 'Parlamentario.id => 'Postulacion.Registro.name', (int) 'Parlamentario.id => 'Postulacion.Registro.name', (int) 'Parlamentario.id => 'Postulacion.Registro.name', (int) 'Parlamentario.id => 'Postulacion.Registro.name', (int) 'Parlamentario.id => 'Postulacion.Registro.name', (int) 'Parlamentario.id => 'Postulacion.Registro.name', )
标签: cakephp cakephp-2.3 cakephp-2.x