首页 > 解决方案 > 如果模型中的查询在 Codeigniter 3 中返回空,则重定向到控制器

问题描述

如果我的模型中的查询返回空,我想要做的是将用户重定向到另一个控制器。

我有这样的控制器,在 $id 中传递 url 参数以获取特定用户

public function get_user($id)
{
  $data['user'] = $this->user_model->get_user_detail($id);
  $this->load->view('customer_detail',$data);
}

我的模型:

public function get_user_detail($id)
{
  $query = $this->db->where('user_id', $id)->get('user');
    return $query->row();
}

然后我将结果传递给我的视图,如下所示:

<?php echo $user->name;?>

它工作得很好。我的控制器的 url 类似于 mysite/user/get_user/7 和 '7' 是 id。但是,如果我直接在 url 栏中键入不存在的 id,例如 mysite/user/get_user/99,它将抛出错误“尝试获取非对象的属性 'name'”,因为数据库中没有 id 为 99 的用户。如果从查询中找不到数据,如何将用户重定向到另一个控制器?

谢谢

标签: phpcodeigniterredirect

解决方案


一种简单的重定向方法。

$q =  $this->db->query()->row();
 If($q==""){
   redirect('url/page');
  }

推荐阅读