Jinzhu
6d13ae4ead
Merge pull request #303 from jnfeinstein/dev_poly
...
Support polymorphic has-one and has-many associations
2014-11-28 10:10:47 +08:00
jnfeinstein
a8492826a8
Fields are only cached when withRelation, so they should only be accessed when withRelation.
...
The result of .Fields() is quite different with and without withRelation.
I assume that if you call it without withRelation, you don't want the
fields that were cached when withRelation was true.
2014-11-27 14:04:05 -08:00
jnfeinstein
8b451f0084
Add support for polymorphic relationships using the POLYMORPHIC setting.
...
This commit adds support for two settings:
FOREIGNTYPE - A field that is used to store the type of the owner.
POLYMORPHIC - A shortcut to set FOREIGNKEY and FOREIGNTYPE to the same
value suffixed by "Id" and "Type" respectively.
The type is stored as the table name, which I thought might be useful
for other queries.
The biggest gotcha of this commit is that I flipped the definition of
has_one and belongs_to. gorm is very flexible such that it didn't
really care if it was a has_one or belongs_to, and can pretty much
determine it at runtime. For the sake of the error, I had to define
one of them as belongs_to, and I chose the one with the fields as
the belongs_to, like ActiveRecord. The error could probably be
genericized to "gorm cannot determine type", but I think it's nicer
to tell people DONT DO PATTERN XYZ CAUSE IT WONT WORK. Functionally,
it doesn't matter.
2014-11-25 21:35:47 -08:00
Jinzhu
e9684db42a
Show error message if not using addressable value for auto migration
2014-11-25 13:44:14 +08:00
Paolo Galeone
064d91335b
Add default values support ( https://github.com/jinzhu/gorm/issues/251 )
2014-11-15 18:32:35 +01:00
Jinzhu
010e7a90b3
Fix can't update record with customized primary key
2014-11-11 11:46:21 +08:00
Jinzhu
6c1ca7adb8
Include ignored columns in Fields(), it could be used as cache field
2014-10-14 00:06:41 +08:00
Vytautas Šaltenis
67f71b2f86
Fix a bug with custom columns and ignored fields
...
An ignored field should also be ignored when column names are being
determined.
2014-10-10 00:05:15 +03:00
Jinzhu
0aaefebf4f
Add support for custom column names
2014-10-07 22:37:33 +08:00
Tristan Storch
41eeeeea7c
Cheanged if to switch in scope.go
...
Readability improved by changing a long if-else to a switch statement.
2014-10-06 11:11:07 +02:00
Jinzhu
375f3ee260
Merge pull request #239 from tstorch/cleanup
...
FieldValueByName does now only what it should
2014-10-03 13:32:18 +08:00
Tristan Storch
9bee4239d4
FieldValueByName does now only what it should
...
FieldValueByName in utils.go does now only what it should and has proper errors.
2014-10-01 16:20:12 +02:00
Tristan Storch
f1212ecd58
Readability update
...
Small readability update. Includes also a switch from bool return values to
error return values in Scope.SetColumn and Field.Set.
2014-09-30 14:02:51 +02:00
Tristan Storch
f771ee21da
Minor Refactoring for readability
...
Refactored of a small portion if the scope code for readability
2014-09-26 15:35:04 +02:00
Jinzhu
953c347ba7
Refactor Scope
2014-09-02 19:03:01 +08:00
Jinzhu
b6d934aff9
Improve HasColumn method, support embedded struct
2014-09-01 17:04:07 +08:00
Jinzhu
7862dace6b
Don't panic if can't get address
2014-09-01 14:15:29 +08:00
Jinzhu
c6b1669c6a
Fix tests for Scanner
2014-08-30 23:14:14 +08:00
Jinzhu
6271cf0e55
Fix tests for postgres
2014-08-30 22:39:28 +08:00
Jinzhu
471eda5a12
Panic if found duplicated column name
2014-08-30 21:42:35 +08:00
Jinzhu
d806b7084f
Pass anonymous struct tests
2014-08-30 21:42:35 +08:00
Jinzhu
b2360c11da
Add Fields for embedded struct
2014-08-30 21:42:35 +08:00
Jinzhu
423d9496c1
update tests
2014-08-28 16:14:44 +08:00
Jinzhu
8f22434ded
Use the original DB when create a new Scope
2014-08-27 16:50:22 +08:00
Jinzhu
5347765bd3
Merge pull request #206 from cihangir/master
...
gorm: added ability to change the time.now format
2014-08-27 16:19:55 +08:00
Jinzhu
922395c965
Add InstantSet for DB
2014-08-25 17:10:46 +08:00
Cihangir SAVAS
4e90fbf4e8
gorm: added ability to change the time.now format
2014-08-23 01:00:04 -07:00
Jinzhu
39ac95adbb
Add InstanceSet, InstanceGet fomr Scope
2014-08-20 17:05:02 +08:00
Jinzhu
9012c9ea09
Add Set, Get method for DB
2014-08-20 16:25:01 +08:00
Jinzhu
a80a0a1636
By default, pluralize table name
2014-08-20 13:46:10 +08:00
Jinzhu
10668ee323
Don't raise error when get TableName even Scope has no db
2014-08-20 10:49:48 +08:00
Jinzhu
07e2d49b22
Fix invalid reflect value
2014-08-15 11:14:33 +08:00
Jinzhu
febc826511
Don't check relations if field is ignored
2014-08-14 21:54:23 +08:00
Jinzhu
90106d82c5
Export Relationship
2014-07-31 14:38:16 +08:00
Jinzhu
6c4b635176
Replace BeforeAssociation, AfterAssociation with association type
2014-07-30 21:14:10 +08:00
Jinzhu
2356182ea7
Rename joinTable to relationship
2014-07-30 20:59:52 +08:00
Jinzhu
e1e68debdc
improve association
2014-07-30 20:48:36 +08:00
Jinzhu
9b3be66a77
Refact scope Fields
2014-07-30 15:15:23 +08:00
Jinzhu
0d3085393e
Add IndirectValue for Scope
2014-07-30 14:58:00 +08:00
Jinzhu
14590a65dc
Save many to many relations into join table
2014-07-30 14:18:15 +08:00
Jinzhu
a7aaf151cf
Use JoinTable instead of ForeignKey
2014-07-30 11:32:18 +08:00
Jinzhu
0c63e57f5c
Use tag to set primary key
2014-07-29 18:21:36 +08:00
Jinzhu
2d3bcf5297
Refact untils.go
2014-07-25 16:53:28 +08:00
Jinzhu
40c16f3c29
Export method ToSnake and SnakeToUpperCamel
2014-07-21 14:06:54 +08:00
Jinzhu
3eb4adafba
Extract method FieldByName
2014-07-15 11:53:17 +08:00
Jinzhu
3bd5131132
Support slice of pointers
2014-07-08 10:45:31 +08:00
Jinzhu
325e6c2ef1
Fix tests with go v1.3
2014-07-02 11:56:44 +08:00
Jinzhu
11f232a200
Fix QuotedTableName
2014-06-10 13:08:19 +08:00
Jinzhu
f32fa0cb6e
Add RowsAffected for DB
2014-06-05 17:58:14 +08:00
Jinzhu
0cba662be0
Add method QuotedTableName for Scope
2014-06-03 17:17:30 +08:00