Method: QueryBuilder::Query#needs_join_table
- Defined in:
- lib/query_builder/query.rb
#needs_join_table(table_name1, type, table_name2, clause, join_name = nil) ⇒ Object
Use this method to add a join to another table (added only once for each join name). nodes JOIN idx_nodes_string AS id1 ON … FIXME: can we remove this ? It seems buggy (JOIN in or clauses)
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/query_builder/query.rb', line 160 def needs_join_table(table_name1, type, table_name2, clause, join_name = nil) join_name ||= "#{table_name1}=#{type}=#{table_name2}" @needed_join_tables[join_name] ||= {} @needed_join_tables[join_name][table] ||= begin # define join for this part ('table' = unique for each part) # don't add to list of tables, just get unique alias name second_table = get_alias(table_name2) # create join first_table = table(table_name1) @join_tables[first_table] ||= [] @join_tables[first_table] << "#{type} JOIN #{second_table} ON #{clause.gsub('TABLE1',first_table).gsub('TABLE2',second_table)}" second_table end end |