类stdClass的对象无法转换为字符串ERROR

时间:2017-10-04 16:00:57

标签: php codeigniter

我正在尝试将数据库中的值传递给输入,但是我抛出以下错误。我不确定在这种情况下是否应该使用return $ this-> DB-> get() - > row();在模型中。欢迎任何帮助。

A PHP Error was encountered

Severity: 4096

Message: Object of class stdClass could not be converted to string

Filename: usuarios/vConsulta_Horarios.php

Line Number: 590

Backtrace:

File: C:\xampp\htdocs\SAE\application\views\usuarios\vConsulta_Horarios.php
Line: 590
Function: _error_handler

File: C:\xampp\htdocs\SAE\application\controllers\cCalendar.php
Line: 26
Function: view

File: C:\xampp\htdocs\SAE\index.php
Line: 315
Function: require_once

模型(mCalendar)

public function lunes(){


$this->db->select('MIN(horario.hrs_ini)');
$this->db->from('horario');
$this->db->join('usuarios','horario.rut_usu = usuarios.rut_usu');
$this->db->where('usuarios.rut_usu','17811942-4'); 
$this->db->where('horario.lunes','ATTE. ESTUDIANTES');


return $this->db->get()->row();

控制器(cCalendar)

public function index(){


        $this->load->view('layouts/header.php');
        $this->load->view('layouts/menu.php');

        $this->load->model('mCalendar');
        $data['start_lunes'] = $this->mCalendar->lunes();
        $this->load->view('usuarios/vConsulta_Horarios.php',$data);
        $this->load->view('layouts/footer.php');

}

查看

    <div class="col-md-2">

        <div class="form-group">
          <label>fecha</label>
          <input tupr="text" id="fecha_actual" name="fecha_actual" value="<?php echo $start_lunes;?>">
        </div>
     </div>

2 个答案:

答案 0 :(得分:1)

即使您只选择一列,仍需要在输出时指定它,因为$start_lunes是表示整行的对象,并且正如错误告诉您的那样,它无法转换到一个字符串。

我认为echo $start_lunes->hrs_ini应该有用。

根据您更新的功能,我认为如果您在选择

中别名MIN表达式会更容易
$this->db->select('MIN(horario.hrs_ini) AS min_hrs');

然后在您的视图中参考:echo $start_lunes->min_hrs

答案 1 :(得分:0)

return $this->db->get()->row();返回对象时,您收到此错误 您需要参考this link

现在,我建议您正确返回数据。 在您的控制器中,更改返回$this->db->get()->row();

  return $this->db->get()->result_array();

现在您将获得数据格式的数据,您可以使用

查看中回复此信息

// 在您的视图中

foreach($start_lunes as $var){
        $value = $var['MIN(horario.hrs_ini)'];
    }

<input type="text" id="fecha_actual" name="fecha_actual" value="<?php echo $value?>"