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
0244d3dc
Commit
0244d3dc
authored
Sep 20, 2006
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactored Doctrine_View
parent
80901aa7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
16 deletions
+51
-16
View.php
Doctrine/View.php
+50
-15
ViewTestCase.php
tests/ViewTestCase.php
+1
-1
No files found.
Doctrine/View.php
View file @
0244d3dc
<?php
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_View
*
* this class represents a database view
*
* @author Konsta Vesterinen
* @package Doctrine ORM
* @url www.phpdoctrine.com
* @license LGPL
*/
class
Doctrine_View
{
/**
...
...
@@ -20,17 +44,17 @@ class Doctrine_View {
/**
* @var string $name
* @var string $name
the name of the view
*/
protected
$name
;
/**
* @var Doctrine_Query $query
* @var Doctrine_Query $query
the DQL query object this view is hooked into
*/
protected
$query
;
/**
* @var
PDO $dbh
* @var
Doctrine_Connection $conn the connection object
*/
protected
$
dbh
;
protected
$
conn
;
/**
* constructor
...
...
@@ -41,11 +65,11 @@ class Doctrine_View {
$this
->
name
=
$viewName
;
$this
->
query
=
$query
;
$this
->
query
->
setView
(
$this
);
$this
->
dbh
=
$query
->
getConnection
()
->
getDBH
();
$this
->
conn
=
$query
->
getConnection
();
}
/**
*
simple get method for getting
* the associated query object
*
getQuery
*
returns
the associated query object
*
* @return Doctrine_Query
*/
...
...
@@ -53,6 +77,7 @@ class Doctrine_View {
return
$this
->
query
;
}
/**
* getName
* returns the name of this view
*
* @return string
...
...
@@ -61,47 +86,57 @@ class Doctrine_View {
return
$this
->
name
;
}
/**
* returns the database handler
* getConnection
* returns the connection object
*
* @return
PDO
* @return
Doctrine_Connection
*/
public
function
get
DBH
()
{
return
$this
->
dbh
;
public
function
get
Connection
()
{
return
$this
->
conn
;
}
/**
* create
* creates this view
*
* @throws Doctrine_View_Exception
* @return void
*/
public
function
create
()
{
$sql
=
sprintf
(
self
::
CREATE
,
$this
->
name
,
$this
->
query
->
getQuery
());
try
{
$this
->
dbh
->
query
(
$sql
);
$this
->
conn
->
getDBH
()
->
query
(
$sql
);
}
catch
(
Exception
$e
)
{
throw
new
Doctrine_View_Exception
(
$e
->
__toString
());
}
}
/**
* drops this view
* drop
* drops this view from the database
*
* @throws Doctrine_View_Exception
* @return void
*/
public
function
drop
()
{
try
{
$this
->
dbh
->
query
(
sprintf
(
self
::
DROP
,
$this
->
name
));
$this
->
conn
->
getDBH
()
->
query
(
sprintf
(
self
::
DROP
,
$this
->
name
));
}
catch
(
Exception
$e
)
{
throw
new
Doctrine_View_Exception
(
$e
->
__toString
());
}
}
/**
* execute
* executes the view
*
* returns a collection of Doctrine_Record objects
*
* @return Doctrine_Collection
*/
public
function
execute
()
{
return
$this
->
query
->
execute
();
}
/**
* getSelectSql
* returns the select sql for this view
*
* @return string
*/
public
function
getSelectSql
()
{
...
...
tests/ViewTestCase.php
View file @
0244d3dc
...
...
@@ -9,7 +9,7 @@ class Doctrine_ViewTestCase extends Doctrine_UnitTestCase {
$this
->
assertEqual
(
$view
->
getName
(),
'MyView'
);
$this
->
assertEqual
(
$view
->
getQuery
(),
$query
);
$this
->
assertEqual
(
$view
,
$query
->
getView
());
$this
->
assertTrue
(
$view
->
get
DBH
()
instanceof
PDO
);
$this
->
assertTrue
(
$view
->
get
Connection
()
instanceof
Doctrine_Connection
);
$success
=
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