是一个通用的get()方法,就像一个好主意的方法
function universal_get( $select=NULL, $from=NULL, $where=NULL, $group=NULL, $having=NULL, $order=NULL, $limit=NULL )
{
// condition checks
if ( is_string( $select ) OR is_array ( $select )) { $this->db->select( $select ); }
if ( is_string( $from ) ) { $this->db->from( $from ); }
if ( is_array( $where ) ) { $this->db->where( $where ); }
if ( is_string( $group ) OR is_array( $group ) ) { $this->db->group_by( $group ); }
if ( is_array( $having ) ) { $this->db->having( $having ); }
if ( is_array( $order ) ) { $this->db->order_by( $order ); }
if ( is_string( $limit ) OR is_int( $limit ) ) { $this->db->limit( $limit ); }
$result = $this->db->get( $from );
if ( $result->num_rows() > 0 ) { return $result->result(); }
else { return FALSE; }
}
或者像PHP-ActiveRecord这样的ORM会是更好的选择吗?
由于
答案 0 :(得分:2)
海峡前锋:没有
如果您是程序员,那么请编写好的代码。当我开始使用CI时,我在各处都制作了类似这样的功能,而且非常令人困惑。 CI是一个框架,所以基本上你是在构建一个框架框架。
要记住的另一件事是,您需要始终知道代码中发生了什么。具有过多功能会导致难以跟踪的错误并限制特定应用程序的可用性。例如,如果你想使用连接怎么办?所有设计合理的数据库最终都会使用连接。
答案 1 :(得分:-1)
我认为这不是一个好主意。 CI的Active Record会处理你不想处理的事情......添加斜线,链接到哪里以及其他一些......只需查看他们的课程。
http://codeigniter.com/user_guide/database/active_record.html