904118851 3 bulan lalu
induk
melakukan
27da9b694e

+ 13 - 0
src/data_manager/BaseModel.js

@@ -89,6 +89,19 @@ class BaseModel {
         return results || null;
     }
 
+    async findDataByLimitPublish(conditions,limit=1,orderBy="") {
+        this.queryBuilder.clear()
+        let { sql, params } = this.queryBuilder
+            .select()
+            .from(this.tableName)
+            .where(conditions)
+            .orderByPublishAndWeight()
+            .limit(limit)
+            .getQuery();
+        const results = await db.query(sql, params);
+        return results || null;
+    }
+
     async findAll(conditions = {}, limit = null, offset = 0, orderBy = null) {
         this.queryBuilder.clear()
         let builder = this.queryBuilder

+ 1 - 1
src/data_manager/Controllers/origin_data_controllers.js

@@ -131,7 +131,7 @@ class origin_data_controllers {
             }
 
             const status = params.status;
-            const filterData = await origin_data_model.findDataByLimit({ status: status },limit,"DESC");
+            const filterData = await origin_data_model.findDataByLimitPublish({ status: status },limit);
 
             if (!filterData) {
                 return {

+ 4 - 0
src/data_manager/QueryBuilder.js

@@ -58,6 +58,10 @@ class QueryBuilder {
         return this;
     }
 
+    orderByPublishAndWeight() {
+        this.query += ` ORDER BY publish_time DESC , weight DESC  `;
+        return this;
+    }
     insert(table, data) {
         const fields = Object.keys(data);
         const values = Object.values(data);