【问题标题】:Object of class stdClass could not be converted to string ERROR类 stdClass 的对象无法转换为字符串 ERROR
【发布时间】:2017-10-04 16:00:56
【问题描述】:

我试图将一个值从我的数据库传递到输入,但我抛出以下错误。我不确定在这种情况下你是否应该使用 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

模型(移动日历)

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>

【问题讨论】:

  • 可以添加cCalendar.php的代码吗?
  • 是控制器
  • 啊,对不起,我看错了!你用什么来管理数据库?可能“row()”的结果不是单个值而是一个对象
  • 我应该返回这个 17:30:00
  • 总是只会返回一个结果

标签: php codeigniter


【解决方案1】:

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

我认为echo $start_lunes-&gt;hrs_ini 应该可以工作。


根据您更新的函数,我认为如果您在选择中为 MIN 表达式添加别名会更容易

$this->db->select('MIN(horario.hrs_ini) AS min_hrs');

那么在你看来,请参考:echo $start_lunes-&gt;min_hrs

【讨论】:

  • 它不起作用:C跨度>
  • 做 var_dump($start_lunes);让我们知道输出是什么
  • 怎么样?它有什么作用?同样的错误?不同的错误?什么都没有?
  • $data['start_lunes'] = $this->mCalendar->lunes(); var_dump($start_lunes);应该这样吗?我没用过
  • 只需在视图页面顶部添加 var_dump()... "; var_dump($start_lunes);死(); ?>...这将显示变量的内容
【解决方案2】:

由于return $this-&gt;db-&gt;get()-&gt;row(); 返回对象,您会收到此错误 你需要参考this link

所以现在,我将建议您正确返回数据的一件事。 在您的控制器中更改返回$this-&gt;db-&gt;get()-&gt;row();

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

现在您正在获取 Array 格式的数据,您可以使用

在您的 View 中回显它

// 在你看来

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

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

【讨论】:

  • 尝试打印_r($start_lunes);
  • 告诉我结果
  • 数组 ( [0] => 数组 ( [MIN(horario.hrs_ini)] => 15:30:00 ) )
猜你喜欢
  • 2011-04-06
  • 2018-10-19
  • 2020-03-16
  • 2021-11-10
  • 2014-06-12
  • 1970-01-01
相关资源
最近更新 更多