php - 如果模型中的查询在 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 的用户。如果从查询中找不到数据,如何将用户重定向到另一个控制器?
谢谢
解决方案
一种简单的重定向方法。
$q = $this->db->query()->row();
If($q==""){
redirect('url/page');
}
推荐阅读
- python - from google.cloud import speech_v1 ---- ModuleNotFoundError: No module named 'google'
- node.js - 使用 Express、Mongoose、EJS 时无法 POST 错误
- c# - 在 c# 中将分钟添加到日期时间时无法解析符号?
- c++ - AVX2:计算 512 个浮点数组的点积
- python - 相关性在无监督学习(聚类)中是否重要?
- android - 从 Android 应用程序将文件上传到 Firebase 存储
- javascript - React.js 函数组件 useState 相关问题
- javascript - 在 Stackbliz 上将 OpenRouteService 添加到 Angular 应用程序
- html - 在 SQL Server 中的两个表之间获取公共行和不同行的最佳方法是什么?
- c - 在 C 中同步变量