2

我无法理解如何将grocery_CRUD 放入视图中。

我控制中的函数如下所示:

function folio()
{
$crud = new grocery_CRUD();
$crud->set_table('rfid');
$crud->columns('rfid','timestamp');
$data['output'] = $crud->render();      
$data['title'] = 'Control Escolar - Folio';
$this->db->where('id', $this->uri->segment(3));
$data['query'] = $this->db->get('alumnos');
$this->load->view('folio_view', $data);
}

我的视图文件中的代码如下所示。

        <?php foreach($query->result() as $row) { ?>
    Datos Vitales - <B>Status:</b> <?=$row->status?><hr>
    <B>Nombre:</b> <?=$row->nombre?> <B>Fecha de Nac:</B> <?=$row->fecha_nac?></br>
    <B>Edad:</b> <?=$row->edad?> <B>Sexo:</B> <?=$row->sexo?> <B>Lugar de Nac:</B> <?=$row->lugar_nac?>
    <B>Nacionalidad:</B> <?=$row->nacionalidad?><br><br>
    Datos Escolar<hr>
    <B>Folio:</b> <?=$row->folio?> <B>Grado:</b> <?=$row->grado?> <B>Grupo:</b> <?=$row->grupo?> <B>Turno:</b> <?=$row->turno?> <B>RFID:</b> <?=$row->rfid?><br><br>
    Datos Generales<hr>
    <B>Domicilio:</b> <?=$row->domicilio?> <B>Colonia:</b> <?=$row->colonia?> <B>Codigo Postal:</b> <?=$row->cpostal?></br>
    <B>Telefono Particular:</b> <?=$row->telepart?> <B>Municipio:</b> <?=$row->municipio?></br>
    <B>Telefono de Emergencia:</b> <?=$row->tele_emer?> <B>Tutor:</b> <?=$row->tutor?><br><br>
    Datos Medicos<hr>
    <B>Tipo de Sangre:</b> <?=$row->tipo_de_sangre?></br>
    <B>Condiciones Conocidas:</b> <?=$row->condiciones?></br></br>
    <hr>
    <B>Entradas/Salidas Registradas:</b>
    <?php echo $output; ?>
    <?php } ?>

效果很好,但是当我运行它时,我得到了应该出现 CRUD 的位置:

A PHP Error was encountered
Severity: 4096
Message: Object of class stdClass could not be converted to string
Filename: views/folio_view.php
Line Number: 65

我真正想要完成的是让 CRUD 显示与学生匹配的 RFID 字段匹配的唯一 RFID 条目。

4

1 回答 1

3

实际上,该错误准确地描述了那里的问题。所以问题是你试图回显一个对象。

所以想象你的 $output 是一个像这样的对象:

stdClass Object
(
    [output] => Your output will appear here....
    [js_files] => Array
        (
            ...
        )

    [css_files] => Array
        (
            ...
        )

)

所以解决你的问题的方法很简单:

echo $output->output;

还要考虑杂货店 CRUD 唯一需要的就是在某处显示 js_files 和 css_files ,所以不要忘记在模板或视图中包含它:

<?php foreach($output->css_files as $file): ?>
        <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>

<?php foreach($output->js_files as $file): ?>
    <script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

如果您想对您更具“可读性”,只需执行以下操作:

$data['gcrud'] = $crud->render();

在你的视图/模板中有这样的东西:

<?php foreach($gcrud->css_files as $file): ?>
        <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>

<?php foreach($gcrud->js_files as $file): ?>
    <script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

...

<?php echo $gcrud->output; ?>

最后但并非最不重要的一点是,考虑到您尝试做的事情首先不会起作用,因为我知道您希望在一个页面中使用多个 CRUD:

<?php foreach($query->result() as $row) { ?>
    ...
    <B>Entradas/Salidas Registradas:</b>
    <?php echo $output->output; ?>
<?php } ?>

但是,您会意识到,由于杂货店 CRUD 暂时不支持在一页中包含多个 CRUD 表单,因此它暂时对您不起作用。因此,如果您真的想使用杂货店 CRUD,您必须更改视图将显示它的逻辑

于 2012-11-08T21:04:30.173 回答