mirror of
https://github.com/knex/knex.git
synced 2025-06-26 22:00:25 +00:00
cleaning up some of the wheres
This commit is contained in:
parent
0e76ce5dc9
commit
434a2792d5
@ -338,21 +338,18 @@ where key = value. </p> </td> <td class="code">
|
||||
<span class="nx">_</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">bindings</span><span class="p">,</span> <span class="nx">query</span><span class="p">.</span><span class="nx">bindings</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-46"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-46">¶</a> </div> <p>Adds an <code>or where exists</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereExists</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="nx">condition</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">type</span> <span class="o">=</span> <span class="nx">condition</span> <span class="o">?</span> <span class="s1">'NotExists'</span> <span class="o">:</span> <span class="s1">'Exists'</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">,</span> <span class="s1">'NotExists'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-47"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-47">¶</a> </div> <p>Adds a <code>where not exists</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereNotExists</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="nx">bool</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">bool</span> <span class="o">||</span> <span class="p">(</span><span class="nx">bool</span> <span class="o">=</span> <span class="s1">'and'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="nx">bool</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="s1">'and'</span><span class="p">,</span> <span class="s1">'NotExists'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-48"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-48">¶</a> </div> <p>Adds a <code>or where not exists</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereNotExists</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">orWhereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereExists</span><span class="p">(</span><span class="nx">callback</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">,</span> <span class="s1">'NotExists'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-49"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-49">¶</a> </div> <p>Adds a <code>where in</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereIn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="nx">bool</span><span class="p">,</span> <span class="nx">condition</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">bool</span> <span class="o">||</span> <span class="p">(</span><span class="nx">bool</span> <span class="o">=</span> <span class="s1">'and'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">type</span> <span class="o">=</span> <span class="nx">condition</span> <span class="o">?</span> <span class="s1">'NotIn'</span> <span class="o">:</span> <span class="s1">'In'</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">_</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">values</span><span class="p">))</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">_whereInSub</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="nx">bool</span><span class="p">,</span> <span class="s1">'not'</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">wheres</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span>
|
||||
<span class="nx">type</span><span class="o">:</span> <span class="nx">type</span><span class="p">,</span>
|
||||
<span class="nx">type</span><span class="o">:</span> <span class="p">(</span><span class="nx">condition</span> <span class="o">||</span> <span class="s1">'In'</span><span class="p">),</span>
|
||||
<span class="nx">column</span><span class="o">:</span> <span class="nx">column</span><span class="p">,</span>
|
||||
<span class="nx">values</span><span class="o">:</span> <span class="nx">values</span><span class="p">,</span>
|
||||
<span class="nx">bool</span><span class="o">:</span> <span class="nx">bool</span>
|
||||
@ -362,18 +359,18 @@ where key = value. </p> </td> <td class="code">
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-50"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-50">¶</a> </div> <p>Adds a <code>or where in</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereIn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereIn</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-51"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-51">¶</a> </div> <p>Adds a <code>where not in</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereNotIn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="nx">bool</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereIn</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="nx">bool</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereIn</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="s1">'and'</span><span class="p">,</span> <span class="s1">'NotIn'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-52"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-52">¶</a> </div> <p>Adds a <code>or where not in</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereNotIn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNotIn</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereIn</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">,</span> <span class="s1">'NotIn'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-53"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-53">¶</a> </div> <p>Adds a <code>where null</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereNull</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">bool</span><span class="p">,</span> <span class="nx">type</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">wheres</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">type</span><span class="o">:</span> <span class="p">(</span><span class="nx">type</span> <span class="o">||</span> <span class="s1">'Null'</span><span class="p">),</span> <span class="nx">column</span><span class="o">:</span> <span class="nx">column</span><span class="p">,</span> <span class="nx">bool</span><span class="o">:</span> <span class="p">(</span><span class="nx">bool</span> <span class="o">||</span> <span class="s1">'and'</span><span class="p">)});</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-54"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-54">¶</a> </div> <p>Adds a <code>or where null</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereNull</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">,</span> <span class="s1">'Null'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-55"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-55">¶</a> </div> <p>Adds a <code>where not null</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereNotNull</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">bool</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="p">(</span><span class="nx">bool</span> <span class="o">||</span> <span class="s1">'and'</span><span class="p">),</span> <span class="s1">'NotNull'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="s1">'and'</span><span class="p">,</span> <span class="s1">'NotNull'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-56"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-56">¶</a> </div> <p>Adds a <code>or where not null</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">orWhereNotNull</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNotNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">whereNotNull</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="s1">'or'</span><span class="p">,</span> <span class="s1">'NotNull'</span><span class="p">);</span>
|
||||
<span class="p">},</span></pre></div> </td> </tr> <tr id="section-57"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-57">¶</a> </div> <p>Adds a <code>where between</code> clause to the query.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">whereBetween</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">column</span><span class="p">,</span> <span class="nx">values</span><span class="p">,</span> <span class="nx">bool</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">wheres</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">column</span><span class="o">:</span> <span class="nx">column</span><span class="p">,</span> <span class="nx">type</span><span class="o">:</span> <span class="s1">'between'</span><span class="p">,</span> <span class="nx">bool</span><span class="o">:</span> <span class="nx">bool</span><span class="p">});</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
|
21
knex.js
21
knex.js
@ -473,30 +473,27 @@
|
||||
|
||||
// Adds an `or where exists` clause to the query.
|
||||
orWhereExists: function(callback, condition) {
|
||||
var type = condition ? 'NotExists' : 'Exists';
|
||||
return this.whereExists(callback, 'or', 'NotExists');
|
||||
return this.whereExists(callback, 'or');
|
||||
},
|
||||
|
||||
// Adds a `where not exists` clause to the query.
|
||||
whereNotExists: function(callback, bool) {
|
||||
bool || (bool = 'and');
|
||||
return this.whereExists(callback, bool, true);
|
||||
return this.whereExists(callback, 'and', 'NotExists');
|
||||
},
|
||||
|
||||
// Adds a `or where not exists` clause to the query.
|
||||
orWhereNotExists: function(callback) {
|
||||
return this.orWhereExists(callback, true);
|
||||
return this.whereExists(callback, 'or', 'NotExists');
|
||||
},
|
||||
|
||||
// Adds a `where in` clause to the query.
|
||||
whereIn: function(column, values, bool, condition) {
|
||||
bool || (bool = 'and');
|
||||
var type = condition ? 'NotIn' : 'In';
|
||||
if (_.isFunction(values)) {
|
||||
return this._whereInSub(column, values, bool, 'not');
|
||||
}
|
||||
this.wheres.push({
|
||||
type: type,
|
||||
type: (condition || 'In'),
|
||||
column: column,
|
||||
values: values,
|
||||
bool: bool
|
||||
@ -512,12 +509,12 @@
|
||||
|
||||
// Adds a `where not in` clause to the query.
|
||||
whereNotIn: function(column, values, bool) {
|
||||
return this.whereIn(column, values, bool, true);
|
||||
return this.whereIn(column, values, 'and', 'NotIn');
|
||||
},
|
||||
|
||||
// Adds a `or where not in` clause to the query.
|
||||
orWhereNotIn: function(column, values) {
|
||||
return this.whereNotIn(column, values, 'or');
|
||||
return this.whereIn(column, values, 'or', 'NotIn');
|
||||
},
|
||||
|
||||
// Adds a `where null` clause to the query.
|
||||
@ -528,17 +525,17 @@
|
||||
|
||||
// Adds a `or where null` clause to the query.
|
||||
orWhereNull: function(column) {
|
||||
return this.whereNull(column, 'or');
|
||||
return this.whereNull(column, 'or', 'Null');
|
||||
},
|
||||
|
||||
// Adds a `where not null` clause to the query.
|
||||
whereNotNull: function(column, bool) {
|
||||
return this.whereNull(column, (bool || 'and'), 'NotNull');
|
||||
return this.whereNull(column, 'and', 'NotNull');
|
||||
},
|
||||
|
||||
// Adds a `or where not null` clause to the query.
|
||||
orWhereNotNull: function(column) {
|
||||
return this.whereNotNull(column, 'or');
|
||||
return this.whereNotNull(column, 'or', 'NotNull');
|
||||
},
|
||||
|
||||
// Adds a `where between` clause to the query.
|
||||
|
Loading…
x
Reference in New Issue
Block a user