knex/docs/lib/builder/joinclause.html

33 lines
7.2 KiB
HTML
Raw Normal View History

2013-09-13 16:58:38 -04:00
<!DOCTYPE html><html lang="en"><head><title>lib/builder/joinclause</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../"><meta name="groc-document-path" content="lib/builder/joinclause"><meta name="groc-project-path" content="lib/builder/joinclause.js"><link rel="stylesheet" type="text/css" media="all" href="../../assets/style.css"><script type="text/javascript" src="../../assets/behavior.js"></script><body><div id="meta"><div class="file-path">lib/builder/joinclause.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="joinclause">JoinClause</h2></div></div></div><div class="segment"><div class="code"><div class="wrapper"><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">define</span><span class="p">)</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
2013-09-13 16:58:38 -04:00
<span class="s2">&quot;use strict&quot;</span><span class="p">;</span>
2013-09-17 07:15:18 -04:00
<span class="nx">define</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">require</span><span class="p">,</span> <span class="nx">exports</span><span class="p">)</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>The "JoinClause" is an object holding any necessary info about a join,
including the type, and any associated tables &amp; columns being joined.</p></div></div><div class="code"><div class="wrapper"> <span class="kd">var</span> <span class="nx">JoinClause</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">table</span><span class="p">)</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
<span class="k">this</span><span class="p">.</span><span class="nx">joinType</span> <span class="o">=</span> <span class="nx">type</span><span class="p">;</span>
<span class="k">this</span><span class="p">.</span><span class="nx">table</span> <span class="o">=</span> <span class="nx">table</span><span class="p">;</span>
<span class="k">this</span><span class="p">.</span><span class="nx">clauses</span> <span class="o">=</span> <span class="p">[];</span>
<span class="p">};</span>
2013-09-17 07:15:18 -04:00
<span class="nx">JoinClause</span><span class="p">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds an "on" clause to the current join object.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">on</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">first</span><span class="p">,</span> <span class="nx">operator</span><span class="p">,</span> <span class="nx">second</span><span class="p">)</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
<span class="k">this</span><span class="p">.</span><span class="nx">clauses</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">first</span><span class="o">:</span> <span class="nx">first</span><span class="p">,</span> <span class="nx">operator</span><span class="o">:</span> <span class="nx">operator</span><span class="p">,</span> <span class="nx">second</span><span class="o">:</span> <span class="nx">second</span><span class="p">,</span> <span class="nx">bool</span><span class="o">:</span> <span class="s1">&#39;and&#39;</span><span class="p">});</span>
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
2013-09-17 07:15:18 -04:00
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds an "and on" clause to the current join object.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">andOn</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">on</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span>
2013-09-17 07:15:18 -04:00
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds an "or on" clause to the current join object.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">orOn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">first</span><span class="p">,</span> <span class="nx">operator</span><span class="p">,</span> <span class="nx">second</span><span class="p">)</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
<span class="k">this</span><span class="p">.</span><span class="nx">clauses</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">first</span><span class="o">:</span> <span class="nx">first</span><span class="p">,</span> <span class="nx">operator</span><span class="o">:</span> <span class="nx">operator</span><span class="p">,</span> <span class="nx">second</span><span class="o">:</span> <span class="nx">second</span><span class="p">,</span> <span class="nx">bool</span><span class="o">:</span> <span class="s1">&#39;or&#39;</span><span class="p">});</span>
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
2013-09-17 07:15:18 -04:00
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Explicitly set the type of join, useful within a function when creating a grouped join.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">type</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">type</span><span class="p">)</span> <span class="p">{</span>
2013-09-13 13:50:41 -04:00
<span class="k">this</span><span class="p">.</span><span class="nx">joinType</span> <span class="o">=</span> <span class="nx">type</span><span class="p">;</span>
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">};</span>
<span class="nx">exports</span><span class="p">.</span><span class="nx">JoinClause</span> <span class="o">=</span> <span class="nx">JoinClause</span><span class="p">;</span>
<span class="p">});</span>
<span class="p">})(</span>
<span class="k">typeof</span> <span class="nx">define</span> <span class="o">===</span> <span class="s1">&#39;function&#39;</span> <span class="o">&amp;&amp;</span> <span class="nx">define</span><span class="p">.</span><span class="nx">amd</span> <span class="o">?</span> <span class="nx">define</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">factory</span><span class="p">)</span> <span class="p">{</span> <span class="nx">factory</span><span class="p">(</span><span class="nx">require</span><span class="p">,</span> <span class="nx">exports</span><span class="p">);</span> <span class="p">}</span>
<span class="p">);</span></div></div></div></div></body></html>