0

我目前遇到此错误的问题:

数组到字符串的转换

这是代码:

控制器:

function get_tariff()
{      
   $this->load->model('model_tariff');
   $data['destination']=$this->input->post('dest',true);
   $data['lines']=$this->input->post('lines',true);
   $data['weight']=$this->input->post('weight',true);
   $data['priceperkg']=$this->model_tariff->get_tariff();
   $data['pricetotal']=$data['priceperkg']* $data['weight'];
   $this->load->view('tariff_result',$data);
}

模型:

function get_tariff()
{        
   $destination=$this->input->post('dest');
   $lines=$this->input->post('lines');
   $weightt=$this->input->post('weight');
   $this->db->select('price');
   $this->db->from('view_tariff');
   $this->db->where('city_name',$destination);
   $this->db->where('lines',$lines);
   $price=$this->db->get();
   return $price->result();    
}

看法:

Price per kg <?php echo $priceperkg?>;
Bayar total <?php echo $pricetotall?>;
4

2 回答 2

1

CodeIgniter 数据库方法result()返回一个对象数组,而不是字符串文字(价格)。你需要做一些进一步的转换。例如,如果您期望单行,则尝试row()返回单个对象。反过来,您可以引用该属性price

return $price->row()->price;

或者,您可以通过其他几种方式来处理它。

于 2013-05-19T04:56:43.200 回答
0

读取CodeIgniter 活动结果函数

此函数以对象数组的形式返回query result在失败时返回空数组。通常,您将在http://ellislab.com/codeigniter/user-guide/database/results.html中使用它,如下所示:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result() as $row)
{
   echo $row->title;
   echo $row->name;
   echo $row->body;
}

上述函数是result_object()的别名。

如果您运行的查询可能不会产生结果,建议您先测试结果:

$query = $this->db->query("YOUR QUERY");

if ($query->num_rows() > 0)
{
   foreach ($query->result() as $row)
   {
      echo $row->title;
      echo $row->name;
      echo $row->body;
   }
}
于 2013-05-19T04:56:33.770 回答