微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-CodeIgniter:如果Active Record找不到任何数据,则返回FALSE

使用CodeIgniter,我在所有从数据库收集数据的模型中都找到以下代码

// .. taken from function get_user_data($user_id)
// Select data
$user_data = $this->db->from('users')->where('id', $user_id)->get()->row();

// Check if we got any matches
if(isset($user_data->id)) {

  // Indeed we did, return the data found
  return $user_data

} else {

   // nope, no data found
   return FALSE;

}

有趣的部分是我检查查询是否实际返回了任何数据的地方.我正在对每个查询执行此操作,这将导致相当多的重复代码.

是否有任何方法可以覆盖CodeIgniter函数,如果找不到数据,则使它们返回FALSE?
我可能丢失了一些内容,因为我看不到为什么CodeIgniter尚未对此进行处理.

解决方法:

我同意wesley murch选项,但我认为为单个函数创建整个类不是一个好习惯.我的意见是使用助手.您可以尝试以下方法

在帮助文件中:

function get_db_data($result)
{
    return ( $result->num_rows() > 0 ) ? $result->result_array() : false;
}

您可以在任何模型中使用

$this->load->helper('helper_file_name');
$dbData = get_db_data(result_object);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐