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
ef59c195
Commit
ef59c195
authored
Jul 20, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
9d8dfbce
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
106 additions
and
0 deletions
+106
-0
ManyToMany2TestCase.php
tests/Relation/ManyToMany2TestCase.php
+106
-0
No files found.
tests/Relation/ManyToMany2TestCase.php
0 → 100644
View file @
ef59c195
<?php
class
Doctrine_Relation_ManyToMany2_TestCase
extends
Doctrine_UnitTestCase
{
public
function
prepareData
()
{
}
public
function
prepareTables
()
{
$this
->
tables
=
array
(
'TestUser'
,
'TestMovie'
,
'TestMovieUserBookmark'
,
'TestMovieUserVote'
);
parent
::
prepareTables
();
}
public
function
testManyToManyCreateSelectAndUpdate
()
{
$user
=
new
TestUser
();
$user
[
'name'
]
=
'tester'
;
$user
->
save
();
$data
=
new
TestMovie
();
$data
[
'name'
]
=
'movie'
;
$data
[
'User'
]
=
$user
;
$data
[
'MovieBookmarks'
][
0
]
=
$user
;
$data
[
'MovieVotes'
][
0
]
=
$user
;
$data
->
save
();
//All ok here
$this
->
conn
->
clear
();
$q
=
new
Doctrine_Query
();
$newdata
=
$q
->
select
(
'm.*'
)
->
from
(
'TestMovie m'
)
->
execute
()
->
getFirst
();
$newdata
[
'name'
]
=
'movie2'
;
try
{
$newdata
->
save
();
//big failure here
$this
->
pass
();
}
catch
(
Doctrine_Exception
$e
)
{
print
$e
;
$this
->
fail
();
}
}
}
class
TestUser
extends
Doctrine_Record
{
public
function
setUp
()
{
$this
->
hasMany
(
'TestMovie as UserBookmarks'
,
array
(
'local'
=>
'user_id'
,
'foreign'
=>
'movie_id'
,
'refClass'
=>
'TestMovieUserBookmark'
));
$this
->
hasMany
(
'TestMovie as UserVotes'
,
array
(
'local'
=>
'user_id'
,
'foreign'
=>
'movie_id'
,
'refClass'
=>
'TestMovieUserVote'
));
}
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'name'
,
'string'
,
30
);
}
}
class
TestMovie
extends
Doctrine_Record
{
public
function
setUp
()
{
$this
->
hasOne
(
'TestUser as User'
,
array
(
'local'
=>
'user_id'
,
'foreign'
=>
'id'
));
$this
->
hasMany
(
'TestUser as MovieBookmarks'
,
array
(
'local'
=>
'movie_id'
,
'foreign'
=>
'user_id'
,
'refClass'
=>
'TestMovieUserBookmark'
));
$this
->
hasMany
(
'TestUser as MovieVotes'
,
array
(
'local'
=>
'movie_id'
,
'foreign'
=>
'user_id'
,
'refClass'
=>
'TestMovieUserVote'
));
}
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'user_id'
,
'integer'
,
null
);
$this
->
hasColumn
(
'name'
,
'string'
,
30
);
}
}
class
TestMovieUserBookmark
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'user_id'
,
'integer'
,
null
,
array
(
'primary'
=>
true
));
$this
->
hasColumn
(
'movie_id'
,
'integer'
,
null
,
array
(
'primary'
=>
true
));
}
}
class
TestMovieUserVote
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'vote'
,
'string'
,
30
);
$this
->
hasColumn
(
'user_id'
,
'integer'
,
null
,
array
(
'primary'
=>
true
));
$this
->
hasColumn
(
'movie_id'
,
'integer'
,
null
,
array
(
'primary'
=>
true
));
}
}
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