• 25-02-2023, 01:40:32
    #1
    empty
  • 25-02-2023, 01:46:34
    #2
    orm gibi toollar kullanmanız gerek

    https://www.doctrine-project.org/pro...y-builder.html

    doctrine işinizi görecektir. eğer bu kadar kapsamlı bir şey kullanmak istemezseniz; en iyi mantık fonsiyon içine gelebilecek değerleri key - val şeklinde sokup şemanıza göre gelmeyen verileri eksilterek bir query builder oluşturabilirsiniz.
  • 25-02-2023, 01:53:42
    #3
    AKSOYOGLU adlı üyeden alıntı: mesajı görüntüle
    İlginize teşekkür ederim, kontrol ediyorum.

     
    async getByQuery(query = {}) {
        const connection = await pool.getConnection();
        try {
          let dbQuery = "SELECT * FROM srv_lead_with_broker_name_transferred";
          let params = [];
          if (Object.keys(query).length > 0) {
            dbQuery += " WHERE ";
            for (const prop in query) {
              if (query[prop] !== "") {
                if (prop === "utm_campaign") {
                  dbQuery += `${prop} = ? AND `;
                  params.push(query[prop]);
                } else {
                  // Kullanıcının değeri joker karakterleriyle birleştir
                  let value = `%${query[prop]}%`;
                  dbQuery += `${prop} LIKE ? AND `;
                  params.push(value);
                }
              }
            }
            dbQuery = dbQuery.substring(0, dbQuery.length - 5); // Remove the last 'AND' from the query
          }
          dbQuery += " ORDER BY COALESCE(updated_at, created_at) DESC"; 
          const [rows, fields] = await connection.query(dbQuery, params);
          return rows;
        } finally {
          connection.release();
        }
      }
    örnek bir nodejs kodu aynı mantıkta gidebilirsiniz.