Knex: Fungsi Pembuat Kustom

Dibuat pada 15 Jul 2016  ·  3Komentar  ·  Sumber: knex/knex

Saya ingin menambahkan beberapa fungsi khusus ke knex yang harus saya gunakan setiap saat tetapi saya merasa sulit untuk membuatnya berfungsi.

Mereka:
knex.selectOne
knex.selectZeroOrOne

Alih-alih melakukan yang pertama, selectOne tidak menerapkan batas dan malah melempar kesalahan jika mendapat lebih dari satu catatan kembali. Hal ini memungkinkan penulis untuk menangkap kesalahan tertentu secara dini.

Saya mulai dengan:

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;
}

tapi jelas pemeriksaan berapa banyak catatan yang dikembalikan harus dilakukan setelah hasilnya kembali

Bisakah Anda mengarahkan saya ke arah yang benar?

planned for 1.0

Komentar yang paling membantu

@tgriesser Saya telah menunggu fitur ini untuk sementara dan mulai memodifikasi prototipe QueryBuilder . Akan sangat bagus untuk memiliki antarmuka untuk memperluas pembuat kueri.

👍

Semua 3 komentar

Sekadar informasi, Kode ini tidak akan berfungsi di 0.12, Anda harus meminta knex/lib/query/builder secara langsung untuk memodifikasi prototipe itu.

Untuk 1.0 saya akan merencanakan untuk menentukan cara standar untuk menyesuaikan rantai pembuat kueri seperti yang Anda coba lakukan di atas, dan dengan penambahan "kait", Anda akan dapat dengan mudah mengatur transformasi pasca-hasil.

@tgriesser Saya telah menunggu fitur ini untuk sementara dan mulai memodifikasi prototipe QueryBuilder . Akan sangat bagus untuk memiliki antarmuka untuk memperluas pembuat kueri.

👍

@tgriesser - Seberapa jauh kita dari 1.0?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat