Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
84f764cf
Commit
84f764cf
authored
Jul 08, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor relation fix
parent
532d3da4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
4 deletions
+46
-4
Parser.php
lib/Doctrine/Relation/Parser.php
+3
-1
OneToManyTestCase.php
tests/Relation/OneToManyTestCase.php
+43
-3
No files found.
lib/Doctrine/Relation/Parser.php
View file @
84f764cf
...
...
@@ -212,6 +212,7 @@ class Doctrine_Relation_Parser
$def
=
$this
->
completeDefinition
(
$def
);
if
(
isset
(
$def
[
'localKey'
]))
{
$rel
=
new
Doctrine_Relation_LocalKey
(
$def
);
}
else
{
$rel
=
new
Doctrine_Relation_ForeignKey
(
$def
);
...
...
@@ -382,7 +383,8 @@ class Doctrine_Relation_Parser
$def
[
'localKey'
]
=
true
;
}
}
else
{
if
(
$def
[
'local'
]
!==
$this
->
_table
->
getIdentifier
())
{
if
(
$def
[
'local'
]
!==
$this
->
_table
->
getIdentifier
()
&&
$def
[
'type'
]
==
Doctrine_Relation
::
ONE
)
{
$def
[
'localKey'
]
=
true
;
}
}
...
...
tests/Relation/OneToManyTestCase.php
View file @
84f764cf
...
...
@@ -34,27 +34,37 @@ class Doctrine_Relation_OneToMany_TestCase extends Doctrine_UnitTestCase
{
public
function
prepareData
()
{
}
public
function
testRelationParsing
()
{
$table
=
$this
->
conn
->
getTable
(
'Entity'
);
$rel
=
$table
->
getRelation
(
'Phonenumber'
);
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_ForeignKey
);
$rel
=
$table
->
getRelation
(
'Email'
);
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_LocalKey
);
}
public
function
testRelationParsing2
()
{
$table
=
$this
->
conn
->
getTable
(
'Phonenumber'
);
$rel
=
$table
->
getRelation
(
'Entity'
);
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_LocalKey
);
}
public
function
testRelationParsing3
()
{
$table
=
$this
->
conn
->
getTable
(
'Policy'
);
$rel
=
$table
->
getRelation
(
'PolicyAssets'
);
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_ForeignKey
);
}
public
function
testRelationSaving
()
{
$e
=
new
Entity
();
...
...
@@ -67,3 +77,33 @@ class Doctrine_Relation_OneToMany_TestCase extends Doctrine_UnitTestCase
$nr
->
Entity
=
$e
;
}
}
class
Policy
extends
Doctrine_Record
{
public
function
setTableDefinition
(){
$this
->
setTableName
(
'policies'
);
$this
->
hasColumn
(
'policy_number'
,
'integer'
,
11
,
array
(
'unique'
=>
true
));
}
public
function
setUp
()
{
$this
->
hasMany
(
'PolicyAsset as PolicyAssets'
,
array
(
'local'
=>
'policy_number'
,
'foreign'
=>
'policy_number'
));
$this
->
index
(
'policy_number_index'
,
array
(
'fields'
=>
'policy_number'
));
}
}
class
PolicyAsset
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
setTableName
(
'policy_assets'
);
$this
->
hasColumn
(
'policy_number'
,
'integer'
,
11
);
$this
->
hasColumn
(
'value'
,
'float'
,
10
,
array
(
'notblank'
=>
true
,));
}
public
function
setUp
(){
$this
->
hasOne
(
'Policy'
,
array
(
'foreign'
=>
'policy_number'
,
'local'
=>
'policy_number'
));
$this
->
index
(
'policy_number_index'
,
array
(
'fields'
=>
'policy_number'
));
$this
->
index
(
'vehicle_code_index'
,
array
(
'fields'
=>
'vehicle_code'
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment