From 23f797c8349b434a449941c6863fc6723fce43a9 Mon Sep 17 00:00:00 2001
From: RomanSteinberg <romanofficial@yandex.com>
Date: Tue, 5 Jan 2016 16:22:34 +0300
Subject: [PATCH] CHG: use stored procedure

---
 db/stored/procedures.sql                         | 16 ++++++++++++++++
 .../classes/Controller/Office/Logs.php           |  2 +-
 ~dev_rating/application/classes/Model/Logs.php   | 15 +++------------
 3 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/db/stored/procedures.sql b/db/stored/procedures.sql
index 0e645d37a..36da068bd 100644
--- a/db/stored/procedures.sql
+++ b/db/stored/procedures.sql
@@ -1139,6 +1139,22 @@ BEGIN
         WHERE modules.DisciplineID = pDisciplineID;
 END //
 
+DROP PROCEDURE IF EXISTS GetSignInHistory//
+CREATE PROCEDURE `GetSignInHistory` (
+  IN `pLimit` INT
+) NO SQL
+BEGIN
+    SELECT  logs_signin.ID,
+            logs_signin.Date,
+            logs_signin.AccountID,
+            teachers.LastName,
+            teachers.FirstName,
+            teachers.SecondName
+        FROM `logs_signin`
+        INNER JOIN `teachers` ON teachers.AccountID = logs_signin.AccountID
+        ORDER BY  logs_signin.Date DESC LIMIT pLimit;
+END //
+
 DROP PROCEDURE IF EXISTS GetAttestationData//
 CREATE PROCEDURE GetAttestationData (
     IN pDisciplineID INT,
diff --git a/~dev_rating/application/classes/Controller/Office/Logs.php b/~dev_rating/application/classes/Controller/Office/Logs.php
index 5d1594428..2f7dac179 100644
--- a/~dev_rating/application/classes/Controller/Office/Logs.php
+++ b/~dev_rating/application/classes/Controller/Office/Logs.php
@@ -5,7 +5,7 @@ class Controller_Office_Logs extends Controller_Environment_Office
     public function action_index()
     {
         $this->twig->set([
-            'Logs' => Model_Logs::loadAll(),
+            'Logs' => Model_Logs::load(),
         ])->set_filename(static::OFFICE . 'logs');
     }
 }
diff --git a/~dev_rating/application/classes/Model/Logs.php b/~dev_rating/application/classes/Model/Logs.php
index 9efdb42f0..d5effbf23 100644
--- a/~dev_rating/application/classes/Model/Logs.php
+++ b/~dev_rating/application/classes/Model/Logs.php
@@ -10,19 +10,10 @@
  */
 class Model_Logs extends Model
 {
-
-    public static function loadAll()
+    public static function load()
     {
-        return DB::query(Database::SELECT, " 
-            SELECT logs_signin.ID,
-            logs_signin.AccountID,
-            logs_signin.Date,
-            teachers.LastName,
-            teachers.FirstName,
-            teachers.SecondName
-            FROM `logs_signin` JOIN `teachers` ON logs_signin.AccountID = teachers.AccountID
-            ORDER BY   logs_signin.Date DESC LIMIT 50"
-        )->execute()->as_array();
+        $query = 'CALL `GetSignInHistory`(50)';
+        return DB::query(Database::SELECT, $query)->execute()->as_array();
     }
 
 
-- 
GitLab