public function getByName($name = null, $siteId = null)
{
if ($name != null) {
$this->model->setName($name);
}
$name = $this->model->getName();
$data = $this->db->fetchAll(function ($row) use($name, $siteId) {
if ($row["name"] == $name) {
if (empty($row["siteId"]) || $row["siteId"] == $siteId) {
return true;
}
}
return false;
}, function ($a, $b) {
if ($a["siteId"] == $b["siteId"]) {
return 0;
}
return $a["siteId"] < $b["siteId"] ? 1 : -1;
});
if (count($data) && $data[0]["id"]) {
$this->assignVariablesToModel($data[0]);
} else {
throw new \Exception("Route with name: " . $this->model->getName() . " does not exist");
}
}