1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/models
Ryuta Kamizono 999bf3d097 Allow where references association names as joined table alias names
If a table is joined multiple times, those tables are aliased other than
the first one.

It happens easily on self referential associations, and in that case
currently there is no way to work custom attribute (type casting) and
attribute alias resolution for aliased tables in `where` conditions.

To address the issue, it will allow `where` references association names
as table aliases. If association names are referenced in `where`, those
names are used for joined table alias names.

```ruby
class Comment < ActiveRecord::Base
  enum label: [:default, :child]
  has_many :children, class_name: "Comment", foreign_key: :parent_id
end

# ... FROM comments LEFT OUTER JOIN comments children ON ... WHERE children.label = 1
Comment.includes(:children).where("children.label": "child")
```

Fixes #39727.
2020-08-26 10:07:13 +09:00
..
admin
autoloadable
publisher
account.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
admin.rb
aircraft.rb
arunit2_model.rb
author.rb Fix incorrect result when eager loading with duplicated through association with join scope 2020-08-07 13:39:30 +09:00
auto_id.rb
binary.rb
bird.rb Revert "Merge pull request #35186 from kamipo/fix_leaking_scope_on_relation_create" 2019-02-15 12:06:45 +09:00
book.rb Fix pluck to correctly type cast same column names and association columns 2020-05-13 20:24:42 +09:00
boolean.rb
bulb.rb Allow extra scoping in callbacks when create on association relation 2020-04-10 16:10:49 +09:00
cake_designer.rb
car.rb Fix unscoping association scope on joins not to raise an error 2020-04-16 00:34:41 +09:00
carrier.rb
cat.rb
categorization.rb
category.rb Fix reset of the source association when through association is loaded 2019-02-20 13:48:51 +02:00
chef.rb
citation.rb
club.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
college.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
column.rb
column_name.rb
comment.rb Allow where references association names as joined table alias names 2020-08-26 10:07:13 +09:00
company.rb has_attribute? should be aware of attribute aliases 2020-06-03 00:59:35 +09:00
company_in_module.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
computer.rb
contact.rb Deduplicate various Active Record schema cache structures 2019-06-03 13:31:42 +02:00
content.rb
contract.rb Fix pluck and select with custom attributes 2019-02-13 02:47:46 +09:00
country.rb
course.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
customer.rb
customer_carrier.rb
dashboard.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
default.rb
department.rb
developer.rb Support where with comparison operators (>, >=, <, and <=) 2020-07-06 10:24:48 +09:00
dog.rb
dog_lover.rb
doubloon.rb
drink_designer.rb Polymorphic has_one touch: Reset association cache result after create transaction 2019-07-31 05:59:23 +02:00
edge.rb
electron.rb
engine.rb
entrant.rb
entry.rb Add delegated type to Active Record (#39341) 2020-05-23 15:14:40 -07:00
essay.rb
event.rb
eye.rb
face.rb Rename horrible and dirty to puzzled and confused in test models 2020-08-25 18:32:52 +02:00
family.rb
family_tree.rb
friendship.rb
frog.rb
guid.rb
guitar.rb
hotel.rb
human.rb Rename horrible and dirty to puzzled and confused in test models 2020-08-25 18:32:52 +02:00
image.rb :polymorphic, :as, and :foreign_type are valid for polymorphic association 2019-11-10 10:54:58 +09:00
interest.rb Replace test Man with Human 2020-08-14 11:37:09 -04:00
invoice.rb
item.rb
job.rb
joke.rb
keyboard.rb
legacy_thing.rb
lesson.rb
line_item.rb
liquid.rb
matey.rb
measurement.rb This PR adds support to retrieve partitioned indexes when asking for 2020-02-06 07:36:44 +02:00
member.rb
member_detail.rb
member_type.rb
membership.rb
mentor.rb
message.rb Add delegated type to Active Record (#39341) 2020-05-23 15:14:40 -07:00
minimalistic.rb
minivan.rb
mixed_case_monkey.rb Replace test Man with Human 2020-08-14 11:37:09 -04:00
molecule.rb
mouse.rb Don't validate non dirty association targets 2019-07-15 18:21:20 +01:00
movie.rb
node.rb
non_primary_key.rb
notification.rb
numeric_data.rb
order.rb
organization.rb
other_dog.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
owner.rb
parrot.rb
person.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
personal_legacy_thing.rb
pet.rb
pet_treasure.rb
pirate.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
possession.rb
post.rb Avoid implicit create_with for StiClass.all 2020-08-01 23:02:50 +09:00
price_estimate.rb
professor.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
project.rb
publisher.rb
randomly_named_c1.rb
rating.rb Maintain extra joins for string or complex arel conditions 2019-10-04 13:29:18 +09:00
reader.rb
recipe.rb
record.rb
reference.rb
reply.rb Allow attribute aliases for validates_uniqueness_of 2020-06-01 22:44:39 +09:00
section.rb
seminar.rb
session.rb
ship.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
ship_part.rb
shop.rb
shop_account.rb
speedometer.rb
sponsor.rb
squeak.rb Don't validate non dirty association targets 2019-07-15 18:21:20 +01:00
string_key_object.rb
student.rb
subscriber.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
subscription.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
tag.rb
tagging.rb
task.rb
topic.rb Allow define scope for Ruby reserved keywords 2020-05-14 21:39:39 +09:00
toy.rb
traffic_light.rb
treasure.rb
treaty.rb
tree.rb
tuning_peg.rb
tyre.rb
user.rb Allow token length configuration for has_secure_token method 2019-04-09 17:25:50 -04:00
uuid_child.rb
uuid_item.rb
uuid_parent.rb
vegetables.rb
vertex.rb
warehouse_thing.rb
wheel.rb
without_table.rb
zine.rb