Autor Zpráva
candiess
Profil
Zdravím na večer,
chci se vás zeptat, jak je na tom filosofie MVC v MODEL vrstvě, když mam metodu getStory a getStoryWithText, uvedu SQLka:

<?php

public function getStory($storyID) {
return $this->db->query("SELECT * FROM #__stories WHERE storyID = '$storyID'");
}

//varianta A
public function getStoryWithText($storyID) {
return $this->db->query("SELECT * FROM #__stories s, #__stories_text st WHERE s.storyID = '$storyID' AND s.storyID = st.storyID");
}

//varianta B
public function getStoryWithText($storyID) {
$data["info"] = $this->getStory($storyID);
$data["text"] = $this->db->query("SELECT * FROM #__stories_text st WHERE st.storyID = '$storyID'");
return $data;
}

?>
Moje otázka tedy směřuje, je výkonější udělat 2 jednoduchší SQLka nebo 1 trošku složitější? Která metoda getStoryWithText bude efektivnější a v souladu s MVC filosofií? Děkuji všem
Joker
Profil
candiess:
Na to není nějaké závazné pravidlo.
Ale v SQL dotazu bych použil JOIN ON podmínka místo kartézského součinu tabulek.

A s dobře organizovanou databází a dobře napsaným dotazem bude podle mě rozdíl v rychlosti tak malý, že ani nemá smysl to mít jako dvě oddělené varianty.

Kdyby to i přesto bylo nutné, ještě by šlo zvážit variantu getStory($storyId) + getStoryText($storyId)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: