在Objectiniter模型中将Object转换为字符串

时间:2016-11-18 11:46:25

标签: php codeigniter

我的模型有3个方法,从get_state_name()和get_district_name()返回的值是对象类型,我怎样才能将它转换为字符串? 当我绑定值以形成一个地址时我得到了这个错误

  

消息:类stdClass的对象无法转换为字符串

是谁能帮助我?

get_job_address();

get_state_name();

get_district_name();

这是我的代码

public function get_job_address($location_state_id,$district_name_id) {
    $state=$this->get_state_name($location_state_id);
    $district=$this->get_district_name($district_name_id);
    return $district.', '.$state;
}
public function get_state_name($location_state_id) {
    $this->db->select('country_name');
    $this->db->where('sid',$location_state_id);
    $this->db->limit(1);
    $query=$this->db->get('countries');
    return $query->row();
}
public function get_district_name($district_name_id) {
    $this->db->select('state_name');
    $this->db->where('sid',$location_name_id);
    $this->db->limit(1);
    $query=$this->db->get('states');
    return $query->row();
}

2 个答案:

答案 0 :(得分:2)

问题在这里:

$district=$this->get_district_name($district_name_id);
return $district.', '.$state;
  

$区

是一个std类对象,你不能将字符串连接到一个对象。

答案 1 :(得分:0)

返回您想要的字段的值:

public function get_state_name($location_state_id) 
{
    $this->db->select('country_name');
    $this->db->where('sid',$location_state_id);
    $this->db->limit(1);
    $query=$this->db->get('countries');

    // check to make sure you got a result
    if ( $query->num_rows() == 1 ) 
    {  
        $row = $query->row(); 
        return $row->state_name ; 
    }
    // if no result return false
    else { return false; }
}

还要检查你的第三个方法get_district_name(),其中调用错误的变量名称。