Ich kenne Codeigniter nicht, daher kann ich nicht kommentieren "Ist dies ein gutes Modell"? Für meine Antwort werde ich nur annehmen, dass es ist.
Es ist nicht viel Code, also werde ich mich auf einige Details konzentrieren:
public function __construct()
{
parent::__construct();
}
Diese 5 Zeilen machen absolut nichts. Ich würde sie entfernen. Wenn Sie später einen Konstruktor benötigen, fügen Sie ihn später hinzu.
public function fetch_navigation()
{
$result = $this->db->order_by("nav_order", "asc")->where('published', 1)->get('navigation')->result_array();
return $result;
}
Dies ist ziemlich schwer zu lesen (113 Zeichen in dieser Zeile). Ich würde für so etwas gehen (zu sagen mit Ihrer Formatierung von oben)
public function fetch_navigation()
{
return $this->db
->order_by("nav_order", "asc")
->where('published', 1)
->get('navigation')
->result_array();
}
$db = $this->db;
Es scheint nicht notwendig zu sein, eine lokale Variable zu erstellen, diese 6 zusätzlichen Zeichen sollten nicht schaden. Ich musste zweimal nachsehen, woher die Variable stammt und ob sie lokal ist, da Änderungen daran vorgenommen werden.
Bisher sind das wirklich kleine Noten.
Unerreichbarer Code ?
if ($query) {
return $query;
} else {
return false;
}
Sie setzen also $query['modules'] = ...
so, auch wenn das null ist, wird die Abfrage mindestens enthalten
array("modules" => null);
und das wird immer wahr sein.