我有这样的错误 类stdClass的对象无法转换为int
控制器
if ($this->input->post('nama') == 'pendek boju jeans') {
$a=0.810;
}else{
$a=1.144;
}
$kain= $this->input->post('id_kain');
$b=$this->jeans_model->luaskain($kain);
$tpotongan=round($a/$b);
模型
public function luaskain($kain)
{
$this->db->select("ukuran");
$this->db->from("bahankain");
$this->db->where('id_kain',$kain);
$query = $this->db->get();
return $query->row();
}
在我的模型中从bahankain.ukuran获取价值
|ukuran|
|800|
为什么错误Object of class stdClass could not be converted to int
以及如何解决这个问题?
答案 0 :(得分:1)
我不知道你脚本中的名字是什么意思,但问题是对象,正如我所说,是一个至少有一些属性的结构,而int
只是一个编号强>
所以当你按对象划分某些东西时 - 它意味着什么?应该从物体中得到什么价值?谁能说出来?当你用某种东西划分对象时也是如此。
所以,我想,首先你应该var_dump
或print_r
你的$b
变量作为对象,在分区中使用。然后 - 找出你应该使用的$b
变量中的数字。我认为它是ukuran
(无论它意味着什么)。
因此,更精确的代码是:
$tpotongan = round($a / ($b->ukuran)); // taking ukuran property from object
答案 1 :(得分:0)
在模型中试试
public function luaskain($kain)
{
$this->db->select("ukuran");
$this->db->from("bahankain");
$this->db->where('id_kain',$kain);
$query = $this->db->get();
$result=$query->row();
if (isset($result))
{
return $result->columnname;//write your column name
}
else
{
return 1;
}
}
答案 2 :(得分:0)
$query->row()
,在您的方法luaskain($kain)
中,返回类型为stdClass
的对象,该对象代表行(带有值的一个或多个字段)数据库查询的结果集 - 不单个字段值。
要访问单个字段的值,在本例中为字段ukuran
,您需要像$b->ukuran
一样访问它。您可以使用那个值除以(但请确保它不为零,当然,因为您不能除以零)。