我想要做的是,如果我的模型中的查询返回空,则将用户重定向到另一个控制器。我有这样的控制器,在 $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),则会抛出错误“尝试获取非对象的属性‘名称’”,因为数据库中没有 id 为 99 的用户。如果查询中没有找到数据,如何将用户重定向到另一个控制器?
3 回答
烙印99
TA贡献1829条经验 获得超13个赞
一种简单的重定向方法。
$q = $this->db->query()->row();
If($q==""){
redirect('url/page');
}
收到一只叮咚
TA贡献1821条经验 获得超4个赞
我应该对控制器而不是模型中的控制器进行检查,并且不需要重定向。我正在检查模型并重定向。
public function get_user($id)
{
$data['user'] = $this->user_model->get_user_detail($id);
if (!empty($data['user'])) {
$this->load->view('customer_detail',$data);
} else {
$this->load->view('404');
}
}
DIEA
TA贡献1820条经验 获得超2个赞
public function get_user_detail($id)
{
$query = $this->db->where('user_id', $id)->get('user');
$query != "" ? redirect('actual-controller ($query)') : redirect('other-controller');
}
controller($query){ return $query->row(); //your view code for view here }
- 3 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消