Knex: وظائف البناء المخصصة

تم إنشاؤها على ١٥ يوليو ٢٠١٦  ·  3تعليقات  ·  مصدر: knex/knex

أرغب في إضافة بعض الوظائف المخصصة إلى knex والتي يجب أن أستخدمها طوال الوقت ولكني أجد صعوبة في جعلها تعمل.

هم انهم:
knex.selectOne
knex.selectZeroOrOne

بدلاً من القيام أولاً ، لا يطبق selectOne حدًا وبدلاً من ذلك يرمي خطأ إذا استعاد أكثر من سجل واحد. يسمح هذا للمؤلف بالتعرف على أخطاء معينة في وقت مبكر.

لقد بدأت بـ:

knex.client.QueryBuilder.prototype.selectOne = function (columns) { 
    const args = new Array(arguments.length);
    for (let i = 0; i < args.length; i++) {
      args[i] = arguments[i];
    }
    this.select.apply(this, args);
    this._method = 'first';
    //this.limit(1);
    return this;
}

ولكن من الواضح أن التحقق من عدد السجلات التي يتم إرجاعها يجب أن يتم بعد عودة النتائج

هل ستتمكن من توجيهي في الاتجاه الصحيح؟

planned for 1.0

التعليق الأكثر فائدة

tgriesser لقد انتظرت هذه الميزة لفترة وأبدأ في تعديل النموذج الأولي QueryBuilder . سيكون من الرائع أن يكون لديك واجهة لتوسيع منشئ الاستعلام.

👍

ال 3 كومينتر

فقط لمعلوماتك لن يعمل هذا الرمز في 0.12 ، ستحتاج إلى طلب knex/lib/query/builder مباشرة لتعديل هذا النموذج الأولي.

بالنسبة إلى الإصدار 1.0 ، سأخطط لتحديد طريقة قياسية لتخصيص سلسلة منشئ الاستعلامات كما تحاول القيام به أعلاه ، ومع إضافة "الخطافات" ، ستتمكن من إعداد تحويلات ما بعد النتيجة بسهولة.

tgriesser لقد انتظرت هذه الميزة لفترة وأبدأ في تعديل النموذج الأولي QueryBuilder . سيكون من الرائع أن يكون لديك واجهة لتوسيع منشئ الاستعلام.

👍

tgriesser - إلى أي مدى نحن بعيدون عن 1.0؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

nklhrstv picture nklhrstv  ·  3تعليقات

saurabhghewari picture saurabhghewari  ·  3تعليقات

arconus picture arconus  ·  3تعليقات

legomind picture legomind  ·  3تعليقات

mattgrande picture mattgrande  ·  3تعليقات