我的控制器出现错误。我正在尝试使用来自模型函数的结果来调用模型中的另一个函数。我正在使用Codeigniter框架。希望你能帮助我。由于如何在控制器中使用模型函数结果
控制器:
function photographer_campaign_details(){
$camp_id = $this->uri->segment(4);
$data['page_title'] = 'Photographer Campaign Details';
$adminId = $this->session->userdata('adminid');
$campaign = $this->Admin_model->get_all_photographer_campaign_details($camp_id);
$data['seller'] = $this->Admin_model->get_seller_name_by_id($campaign['uid']);//error is here: Undefined index: uid
$data['campaign'] = $campaign;
$this->load->view('admin/photographer_campaign_details',$data);
}
我的模型:
function get_all_photographer_campaign_details($camp_id) {
$this->db->select('*');
$this->db->where('campaign_id',$camp_id);
$query = $this->db->get('ps_campaigns');
if ($query->num_rows() > 0) {
foreach ($query->result_array() as $row) {
$data[] = $row;
}
return $data;
}
return array();
}
//get seller name by id
function get_seller_name_by_id($uid)
{
$this->db->select('firstname, lastname');
$this->db->where('id', $uid);
$query = $this->db->get('ps_users');
//return $query->row();
return $query->result_array();
}
的错误来自控制器的:未定义指数:UID
我正确地获取了所有活动的详细信息,我只想做另一个查询来获取名称并显示它而不是uid。 –
您为什么认为自己正确地获取了所有广告系列的详细信息?你的错误清楚地表明'$ campaign'变量中的'uid'键不存在。最有可能的原因是因为没有找到记录。无论如何,这绝对会发生,因为ID是从URL进入的,因此是用户输入,而您没有验证。用户可以将自己想要的任何数字(或非数字)放入URL中,在这种情况下,您的查询将找不到任何广告系列,并且会发生此错误。你必须验证你的输入。 –
我只对一个广告系列进行测试,并且我的所有视图都显示了正确的值。但我试图显示文字而不是用户ID。我只想知道,如果我在我的第一个模型函数(get_all_photographer_campaign_details)中使用$ query-> result_array(),我如何才能访问$ campaign中的uid?谢谢 –