ILIAS
Release_5_0_x_branch Revision 61816
◀ ilDoc Overview
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Groups
Pages
class.arJoin.php
Go to the documentation of this file.
1
<?php
2
require_once(dirname(__FILE__) .
'/../Statement/class.arStatement.php'
);
3
11
class
arJoin
extends
arStatement
{
12
13
const
TYPE_NORMAL
=
self::TYPE_INNER
;
14
const
TYPE_LEFT
=
'LEFT'
;
15
const
TYPE_RIGHT
=
'RIGHT'
;
16
const
TYPE_INNER
=
'INNER'
;
20
protected
$type
=
self::TYPE_NORMAL
;
24
protected
$table_name
=
''
;
28
protected
$fields
= array(
'*'
);
32
protected
$operator =
'='
;
36
protected
$on_first_field
=
''
;
40
protected
$on_second_field
=
''
;
44
protected
$full_names
=
false
;
48
protected
$both_external
=
false
;
52
protected
$is_mapped
=
false
;
53
54
60
public
function
asSQLStatement
(
ActiveRecord
$ar) {
61
$return =
' '
. $this->
getType
() .
' '
;
62
$return .=
' JOIN '
. $this->
getTableName
() .
' AS '
. $this->
getTableNameAs
();
63
if
($this->
getBothExternal
()) {
64
$return .=
' ON '
. $this->
getOnFirstField
() .
' '
. $this->
getOperator
() .
' '
;
65
}
else
{
66
$return .=
' ON '
. $ar->
getConnectorContainerName
() .
'.'
. $this->
getOnFirstField
() .
' '
. $this->
getOperator
() .
' '
;
67
}
68
$return .= $this->
getTableNameAs
() .
'.'
. $this->
getOnSecondField
();
69
70
return
$return;
71
}
72
73
74
public
function
setLeft
() {
75
$this->
setType
(self::TYPE_LEFT);
76
}
77
78
79
public
function
setRght
() {
80
$this->
setType
(self::TYPE_RIGHT);
81
}
82
83
84
public
function
setInner
() {
85
$this->
setType
(self::TYPE_INNER);
86
}
87
88
92
public
function
setFields
(
$fields
) {
93
$this->
fields
=
$fields
;
94
}
95
96
100
public
function
getFields
() {
101
return
$this->fields
;
102
}
103
104
108
public
function
setOnFirstField
(
$on_first_field
) {
109
$this->on_first_field =
$on_first_field
;
110
}
111
112
116
public
function
getOnFirstField
() {
117
return
$this->on_first_field
;
118
}
119
120
124
public
function
setOnSecondField
(
$on_second_field
) {
125
$this->on_second_field =
$on_second_field
;
126
}
127
128
132
public
function
getOnSecondField
() {
133
return
$this->on_second_field
;
134
}
135
136
140
public
function
setOperator
($operator) {
141
$this->
operator
= $operator;
142
}
143
144
148
public
function
getOperator
() {
149
return
$this->operator;
150
}
151
152
156
public
function
setTableName
(
$table_name
) {
157
$this->table_name =
$table_name
;
158
}
159
160
164
public
function
getTableName
() {
165
return
$this->table_name
;
166
}
167
168
172
public
function
setType
(
$type
) {
173
$this->type =
$type
;
174
}
175
176
180
public
function
getType
() {
181
return
$this->type
;
182
}
183
184
188
public
function
setBothExternal
(
$both_external
) {
189
$this->both_external =
$both_external
;
190
}
191
192
196
public
function
getBothExternal
() {
197
return
$this->both_external
;
198
}
199
200
204
public
function
setFullNames
(
$full_names
) {
205
$this->full_names =
$full_names
;
206
}
207
208
212
public
function
getFullNames
() {
213
return
$this->full_names
;
214
}
215
216
220
public
function
isIsMapped
() {
221
return
$this->is_mapped
;
222
}
223
224
228
public
function
setIsMapped
(
$is_mapped
) {
229
$this->is_mapped =
$is_mapped
;
230
}
231
}
232
233
?>
Services
ActiveRecord
Connector
Join
class.arJoin.php
Generated on Wed Apr 27 2016 21:01:27 for ILIAS by
1.8.1.2 (using
Doxyfile
)