Commit Graph

116 Commits

Author SHA1 Message Date
Rick Olson
56af14d5aa Changed has_and_belongs_to_many join to INNER JOIN for Mysql 3.23.x. Closes #4348 [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4038 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-26 04:08:50 +00:00
Rick Olson
6636eb16c5 Fixed issue that kept :select options from being scoped [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4036 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-26 00:36:55 +00:00
Rick Olson
38bae0a969 Change has_many :through to use the :source option to specify the source association. :class_name is now ignored. [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4022 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-24 14:46:17 +00:00
Rick Olson
6fbf408238 Allow overriding of find parameters in scoped has_many :through calls [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4007 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-21 16:33:22 +00:00
Rick Olson
ea25e246e0 Quit ignoring default :include options in has_many :through calls [Mark James]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3974 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-19 16:13:52 +00:00
Rick Olson
0925c6b6a0 Allow has_many :through to work on has_many associations (closes #3864) [sco@scottraymond.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3964 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-19 02:01:40 +00:00
Rick Olson
57af961a80 Raise error when trying to select many polymorphic objects with has_many :through or :include (closes #4226) [josh@hasmanythrough.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3961 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-19 00:53:24 +00:00
Rick Olson
9c9069a675 Fixed has_many :through to include :conditions set on the :through association. closes #4020 [jonathan@bluewire.net.nz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3958 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 23:14:31 +00:00
Rick Olson
fbd1e01bd6 Fix that has_many :through honors the foreign key set by the belongs_to association in the join model (closes #4259) [andylien@gmail.com / Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3954 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 22:38:49 +00:00
David Heinemeier Hansson
e18fad6c43 Update lingering uses of deprecated association dependency options (closes #4169) [coffe2code]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3941 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 20:25:50 +00:00
Rick Olson
50103b86e6 fixed has_many :conditions sanitizing (closes #4278) [hakuja@hakuja.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3935 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 18:01:50 +00:00
David Heinemeier Hansson
df97ed5e4c Nicer error message on has_many :through when :through reflection can not be found (closes #4042) [court3nay@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3910 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 03:39:18 +00:00
Rick Olson
ee1ae44e0e remove some commented-out cruft
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3898 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 06:22:30 +00:00
Rick Olson
a3502c419e Use association's :conditions when eager loading. [jeremyevans0@gmail.com] closes #4144
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3897 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 06:17:54 +00:00
Rick Olson
def746030c Added Base.abstract_class? that marks which classes are not part of the Active Record hierarchy. closes #3704
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3882 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 02:46:01 +00:00
Jamis Buck
966c276d60 Fix counter cache setting in belongs-to proxy
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3828 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-09 20:55:14 +00:00
Jamis Buck
ff881c7f8b Make counter cache work when replacing an association (closes #3245). Thanks for the patch!
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3762 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-04 19:42:41 +00:00
David Heinemeier Hansson
116658e69b Fixed that calling HasOneProxy#build_model repeatedly would cause saving to happen (closes #4058) [anna@wota.jp]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3753 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-03 06:25:39 +00:00
David Heinemeier Hansson
a32a986364 save polymorphic joins from the has_many|one association (closes #3812) [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3586 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-12 18:03:43 +00:00
Michael Koziarski
5f4b66201e Allow has_many :through to work with :include [Michael Schoen]. Closes #3611
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3566 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-10 05:19:41 +00:00
Jeremy Kemper
b3065a51a9 Polymorphic join support for has_one associations (has_one :foo, :as => :bar). Closes #3785.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3558 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-09 19:37:05 +00:00
David Heinemeier Hansson
05eb14d55a Using AssociationCollection#build with arrays of hashes should call build, not create [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3525 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-03 18:20:19 +00:00
David Heinemeier Hansson
1facce6c24 allow has_many :through to work with custom :foreign key (closes #3422) [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3456 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-21 23:40:20 +00:00
Michael Koziarski
8fe6b90e5f Fix .count for has_many associations with multi-line finder-sql. Closes #3540
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3450 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-21 07:53:45 +00:00
Tobias Lütke
581f12b7b1 removed :piggyback in favor of just allowing :select on :through associations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-20 21:26:27 +00:00
Tobias Lütke
90099e9dc2 made .find() and class method delegation work on :through relations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3325 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-20 21:20:35 +00:00
Tobias Lütke
1d2c6ee8f3 added :piggyback option to has_many :through relationships to pick up values from the join table as needed
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3323 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-20 20:32:47 +00:00
Tobias Lütke
5f06c483ca Fixed :through relations when using STI inherited classes would use the inherited class's name as foreign key on the join model
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3315 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-16 23:24:58 +00:00
David Heinemeier Hansson
e5d9ad3e29 Added option inheritance for find calls on has_and_belongs_to_many and has_many assosociations [DHH] Added option to specify :group, :limit, :offset, and :select options from find on has_and_belongs_to_many and has_many assosociations [DHH]
Added form_remote_for (form_for meets form_remote_tag) [DHH]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3287 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-13 00:39:51 +00:00
David Heinemeier Hansson
6427db6baa Added tests for join models and fixed a bug #3177
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3279 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-11 18:06:51 +00:00
David Heinemeier Hansson
4263490728 Fix has_many :through
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3227 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-07 23:20:11 +00:00
David Heinemeier Hansson
6abda696b5 Added preliminary support for join models [DHH] Added preliminary support for polymorphic associations [DHH] Refactored associations to use reflections to get DRYer, beware, major refactoring -- double check before deploying anything with this (all tests pass, but..)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3213 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-03 04:29:55 +00:00
David Heinemeier Hansson
57b7532b91 Work-in progress for providing better join model support and polymorphic associations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-02 06:03:43 +00:00
Jeremy Kemper
d21ba5aec9 has_and_belongs_to_many: use JOIN instead of LEFT JOIN. References #2937.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3155 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 22:27:19 +00:00
Jeremy Kemper
86da56a654 Don't add the same conditions twice in has_one finder sql. References #2916.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-17 20:45:38 +00:00
Jeremy Kemper
3441dfdb12 Associations handle case-equality more consistently: item.parts.is_a?(Array) and item.parts === Array. Closes #1345.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3043 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-15 10:48:32 +00:00
Jeremy Kemper
3309268120 Add :group option, correspond to GROUP BY, to the find method and to the has_many association. Closes #2818.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2974 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-10 16:36:01 +00:00
David Heinemeier Hansson
49c801b71d Added :include as an option for association declarations [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2898 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-06 20:39:34 +00:00
Jeremy Kemper
390e6d246c r2915@asus: jeremy | 2005-11-06 05:02:53 -0800
Rename Base.constrain to Base.with_scope so it doesn't conflict with existing concept of database constraints.  Make scoping more robust: uniform method => parameters, validated method names and supported finder parameters, raise exception on nested scopes.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2888 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-06 10:18:51 +00:00
David Heinemeier Hansson
a5a82d978b Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH] Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [DHH] Added constrain scoping for creates using a hash of attributes bound to the :creation key [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2872 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-04 19:39:50 +00:00
David Heinemeier Hansson
8c512a1caf Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2861 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-03 09:06:42 +00:00
Jeremy Kemper
e7cd7e9d95 r3800@sedna: jeremy | 2005-10-28 00:39:05 -0700
Readonly constraints, association collection method_missing, dup constraint options


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2774 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 04:53:22 +00:00
Tobias Lütke
5f0b9369cc Fix Associations#clear for not-yet-loaded associations (Patrick Lenz)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2695 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-20 15:05:48 +00:00
Jeremy Kemper
7219e82fe6 HABTM finder sets :readonly => false. Closes #2525.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2694 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-20 14:53:04 +00:00
Jeremy Kemper
328ef3feaa Parenthesize :conditions
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 23:52:07 +00:00
Nicholas Seckar
67e900c0f4 Fix bad commit. (Bad developer, bad\!)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2633 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 01:20:43 +00:00
Nicholas Seckar
9369137676 Add __FILE__ and __LINE__ to eval
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2629 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 22:56:36 +00:00
Tobias Lütke
5fa8793f02 DRYed up Associations#clear. Closes #1906 [Caleb]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2580 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 12:53:39 +00:00
Jamis Buck
99f3ae0845 Fix errors caused by assigning a has-one or belongs-to property to itself
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2562 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 19:21:45 +00:00
Jeremy Kemper
efaf2af07c r3653@asus: jeremy | 2005-09-28 00:23:49 -0700
Ticket 2221 - model.association.clear should destroy associated objects if :dependent => true instead of nullifying their foreign keys


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2384 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-28 03:52:57 +00:00