ORM ne volim, komplikacija mi je kao i Smarty, koristim CI
Active Record klasu.
u modelu funkcija za count npr:
PHP kôd:
function count($lang = 'en'){
$this->db->where('language', $lang);
$this->db->from('table_name');
return $this->db->count_all_results();
}
ili get
PHP kôd:
function get_all($lang = 'en', $start_row = 0, $data_per_page = FALSE, $order_by = FALSE, $order_type = FALSE){
/* ... cuted part ... */
$this->db->from('table_name');
$this->db->join('table_name_2', 'table_name_2.id = table_name.id', 'left');
$this->db->where('language', $lang);
$this->db->order_by($order_by, $order_type);
$this->db->limit($data_per_page, $start_row);
// execute query
$query = $this->db->get();
// return data
if ($query->num_rows() > 0)
return $query->result_array();;
return FALSE;
}
Beneficije su automatsko eskejpovanje i mogucnost rada sa drugom bazom.
a uvek moze i pisan sql sa eskejp:
PHP kôd:
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));