Sí, de hecho acabo de terminar lo que sería el método que responde a distintos parámetros (en teoría) y bueno, la verdad es que funciona a medias.
Código PHP:
Ver originalpublic function get($id = false, $slug = false, $categ = false)
{
if (!$id && !$slug && $categ) {
$query = $this->db->get('cursos');
return $query->result_array();
}
elseif ($slug) {
$query = $this->db->get_where('cursos', array('slug' => $slug));
if ($query->num_rows() == 1) {
return $query->row_array();
}
else {
return false;
}
}
elseif ($categ) {
$query = $this->db->get_where('cursos', array('categoria' => $categ));
if ($query->num_rows() == 1) {
return $query->row_array();
}
else {
return false;
}
}
elseif ($id) {
$query = $this->db->get_where('cursos', array('id' => $id)); return $query->row_array();
}
}
Técnicamente lo único que funciona es que mientras que sean false los parámetros, devuelve la consulta de todos los items de la base de datos y que cuando se le pase el id devuelva el id de la consulta, pero las categorías y el slug ... hmmm no dan señales de vida ...
Respecto a que depende de cada programador, sí, supongo que si pero a veces me pregunto si no termina siendo mas confuso tener get_curso_id, get_curso_categ, get_curso_slug, etc,etc ... quizá para este proyecto pequeño funcione por ser pocas consultas pero es que el código para cada una es prácticamente idéntico y estaría rompiendo el paradigma DRY, que no es que sea pecado pero no sé si vaya a crecer el código, sin mencionar que estos mismos métodos se usan para un servicio rest.