repository.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace MGModule\DNSManager2\models\testGroup\testItem;
  3. use MGModule\DNSManager2 as main;
  4. use MGModule\DNSManager2\mgLibs;
  5. use MGModule\DNSManager2\models\testGroup\simpleItem;
  6. /**
  7. * Description of repository
  8. *
  9. * @author Michal Czech <michael@modulesgarden.com>
  10. */
  11. class repository extends \MGModule\DNSManager2\mgLibs\models\repository{
  12. public function getModelClass() {
  13. return __NAMESPACE__.'\testItem';
  14. }
  15. public function get() {
  16. $sql = "
  17. SELECT
  18. ".mgLibs\MySQL\query::formatSelectFields(testItem::fieldDeclaration(),'B')."
  19. ,count(S.`". simpleItem\simpleItem::getProperyColumn('id')."`) as simpleNum
  20. FROM
  21. ".testItem::tableName()." B
  22. LEFT JOIN
  23. ".simpleItem\simpleItem::tableName()." S
  24. ON
  25. S.`". simpleItem\simpleItem::getProperyColumn('testItemID')."` = B.`".testItem::getProperyColumn('id')."`
  26. ";
  27. $conditionParsed = mgLibs\MySQL\query::parseConditions($this->_filters,$params,'B');
  28. if($conditionParsed)
  29. {
  30. $sql .= " WHERE ".$conditionParsed;
  31. }
  32. $sql .= " GROUP BY `B`.`".testItem::getProperyColumn('id')."` ";
  33. $sql .= mgLibs\MySQL\query::formarLimit($this->_limit, $this->_offest);
  34. $result = mgLibs\MySQL\query::query($sql,$params);
  35. $output = array();
  36. $class = $this->getModelClass();
  37. while($row = $result->fetch())
  38. {
  39. $output[] = new $class($row['id'],$row);
  40. }
  41. return $output;
  42. }
  43. }