好吧,当我点击添加按钮时,我无法自动填充id字段。 id字段是一个下拉字段,由杂货店crud自动构建的各种选项为1_n关系结果。我一直在使用隐藏字段和if语句,以便在我要添加时自动填充,但字段显示为空,我无法保存表单。我做错了什么?
控制器
public function entregas_lista($idCarga, $op = '') {
$crud = new grocery_CRUD();
if ($this->Entregas_Model->get_rows($idCarga)) {
$crud->unset_add();
}
$crud->set_language("spanish");
$crud->set_theme('flexigrid');
$crud->set_table('entregas');
$crud->display_as('idCitas', 'Cita');
$crud->display_as('idAcciones', 'Acción');
$crud->display_as('idEstadoSolicitud', 'Estado Solicitud')
->display_as('horaCita', 'Hora Cita')
->display_as('numeroEntrega', 'Nº Entrega')
->display_as('Origen', 'Orígen')
->display_as('cargaPrevista', 'Carga Prevista')
->display_as('entregaPrevista', 'Entrega Prevista');
$crud->where('entregas.idCitas =', $idCarga);
$crud->display_as('idCarga', 'Nº Entrega');
$crud->set_relation('idCitas', 'citas', 'cita');
$crud->set_relation('idAcciones', 'acciones', 'nombreAccion');
$crud->set_relation('idEstadoSolicitud', 'estadosolicitudes', 'nombreEstado');
$crud->add_fields('idCitas', 'idAcciones', 'idEstadoSolicitud', 'fechaCita', 'horaCita', 'numeroEntrega', 'cliente', 'Origen', 'Destino', 'cargaPrevista', 'entregaPrevista');
$crud->edit_fields('idAcciones', 'idEstadoSolicitud', 'fechaCita', 'horaCita', 'numeroEntrega', 'cliente', 'Origen', 'Destino', 'cargaPrevista', 'entregaPrevista');
if ($op == 'add') {
$crud->change_field_type('idCitas', 'hidden', $idCarga);
}
$output = $crud->render();
$this->_example_output($output);
}
我也试过这个:
if ($crud->getState() == "add") {
$crud->change_field_type('cita', 'hidden', $idCarga);
}
答案 0 :(得分:0)
解决了,当set_relation两个表的id无法设置时,我们必须使用普通字段执行此操作并使用隐藏字段:
我希望这会帮助更多有同样问题的人。
if ($crud->getState() == "add") {
$crud->change_field_type('idCitas', 'hidden', $idCarga);
}