FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
unimapper/src/Query/Sortable.php at develop · unimapper/unimapper · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
unimapper
/
unimapper
Public
Notifications
You must be signed in to change notification settings
Fork
3
Star
10
Code
Issues
43
Pull requests
1
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
unimapper
/
src
/
Query
/
Sortable.php
Copy path
More file actions
More file actions
Latest commit
History
History
History
37 lines (28 loc) · 1.05 KB
Breadcrumbs
unimapper
/
src
/
Query
/
Sortable.php
Copy path
File metadata and controls
37 lines (28 loc) · 1.05 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespace
UniMapper
\
Query
;
use
UniMapper
\
Entity
\
Reflection
\
Property
\
Option
\
Map
;
use
UniMapper
\
Exception
;
trait
Sortable
{
protected
$
orderBy
= [];
public
function
orderBy
(
$
name
,
$
direction
= Select::
ASC
)
{
if
(!
$
this
->
reflection
->
hasProperty
(
$
name
)) {
throw
new
Exception
\
QueryException
(
"
Invalid property name '
"
.
$
name
.
"
'!
"
);
}
$
direction
=
strtolower
(
$
direction
);
if
(
$
direction
!== Select::
ASC
&&
$
direction
!== Select::
DESC
) {
throw
new
Exception
\
QueryException
(
"
Order direction must be '
"
. Select::
ASC
.
"
' or '
"
. Select::
DESC
.
"
'!
"
);
}
$
property
=
$
this
->
reflection
->
getProperty
(
$
name
);
if
(
$
property
->
hasOption
(Map::
KEY
) && !
$
property
->
getOption
(Map::
KEY
)) {
throw
new
Exception
\
QueryException
(
"
Order can not be used on properties with disabled mapping!
"
);
}
$
this
->
orderBy
[
$
this
->
reflection
->
getProperty
(
$
name
)->
getUnmapped
()] =
$
direction
;
return
$
this
;
}
}
Back
|
FazBrowse Home
|
New Git URL