Php 使用CodeIgniter从数据库返回字符串
这是我的型号:Php 使用CodeIgniter从数据库返回字符串,php,mysql,codeigniter,Php,Mysql,Codeigniter,这是我的型号: function getAvenuName($id) { $this->db->distinct(); $this->db->select('admin.username'); $this->db->from('personal_closest'); $this->db->join('admin', 'admin.id = personal_closest.avenu_
function getAvenuName($id) {
$this->db->distinct();
$this->db->select('admin.username');
$this->db->from('personal_closest');
$this->db->join('admin', 'admin.id = personal_closest.avenu_id', 'left');
$this->db->where('personal_closest.avenu_id', $id);
$query = $this->db->get();
return $query->result();
}
foreach ($listofcloset['postByUser'] as $key => $value) {
$listofcloset['postByUser'][$key]['calculatetime'] = $this->calculatetime(strtotime($value['postdatetime']));
$listofcloset['postByUser'][$key]['countcomments'] = $this->countcomments($value['id']);
$listofcloset['postByUser'][$key]['comments'] = $this->comments->sltpostcomments($value['personal_closest_id']);
$listofcloset['postByUser'][$key]['countCloset'] = $this->closet->countCloset($value['id']);
$listofcloset['postByUser'][$key]['givencool'] = $this->checkCoolIsGiven($this->session->userdata('user_id'),$value['user_id'],$value['personal_closest_id']);
$listofcloset['postByUser'][$key]['givencloset'] = count($this->closet->selectIdbycloset($this->session->userdata('user_id'),$value['user_id'],$value['personal_closest_id']));
if (empty($listofcloset['postByUser'][$key]['username'])){
$listofcloset['postByUser'][$key]['username'] = $this->personal_closest->getAvenuName($value['avenu_id']);
}
}
这是我的控制器:
function getAvenuName($id) {
$this->db->distinct();
$this->db->select('admin.username');
$this->db->from('personal_closest');
$this->db->join('admin', 'admin.id = personal_closest.avenu_id', 'left');
$this->db->where('personal_closest.avenu_id', $id);
$query = $this->db->get();
return $query->result();
}
foreach ($listofcloset['postByUser'] as $key => $value) {
$listofcloset['postByUser'][$key]['calculatetime'] = $this->calculatetime(strtotime($value['postdatetime']));
$listofcloset['postByUser'][$key]['countcomments'] = $this->countcomments($value['id']);
$listofcloset['postByUser'][$key]['comments'] = $this->comments->sltpostcomments($value['personal_closest_id']);
$listofcloset['postByUser'][$key]['countCloset'] = $this->closet->countCloset($value['id']);
$listofcloset['postByUser'][$key]['givencool'] = $this->checkCoolIsGiven($this->session->userdata('user_id'),$value['user_id'],$value['personal_closest_id']);
$listofcloset['postByUser'][$key]['givencloset'] = count($this->closet->selectIdbycloset($this->session->userdata('user_id'),$value['user_id'],$value['personal_closest_id']));
if (empty($listofcloset['postByUser'][$key]['username'])){
$listofcloset['postByUser'][$key]['username'] = $this->personal_closest->getAvenuName($value['avenu_id']);
}
}
当我使用用户名时,我遇到了数组到字符串转换的问题。我正试图找到一个解决方案,只取数组中的字符串
这就是结果:
[username] => Array
(
[0] => stdClass Object
(
[username] => USER1
)
)
使用以下代码您将获得直接数组
function getAvenuName($id) {
$this->db->distinct();
$this->db->select('admin.username');
$this->db->from('personal_closest');
$this->db->join('admin', 'admin.id = personal_closest.avenu_id', 'left');
$this->db->where('personal_closest.avenu_id', $id);
$query = $this->db->get();
return $query->row_array();
}
这应该是:)
尝试将
$query->result()
替换为$query->result\u array()
这很好,但请始终为我打印一个数组,我需要一个字符串[username]=>数组([username]=>mydocument)事实上,在视图中,我得到了以下错误:严重性:注意消息:数组到字符串的转换将结果更改为$result,以避免可能需要此转换的任何其他人产生混淆。不客气。我很高兴能帮助你!