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);
标签:activerecord,codeigniter,php 来源: https://codeday.me/bug/20191201/2077975.html