Skip to content

Commit 7dd973d

Browse files
authored
Update README.md (tpetry#26)
Add example for case-when in a select
1 parent 41d52c6 commit 7dd973d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,33 @@ Schema::table('users', function (Blueprint $table) {
129129
});
130130
```
131131

132+
To use the case-when in a `Select` wrap it in an `Alias`:
133+
134+
```php
135+
use Tpetry\QueryExpressions\Language\{CaseGroup, CaseRule};
136+
use Tpetry\QueryExpressions\Language\Alias;
137+
use Tpetry\QueryExpressions\Operator\Comparison\{Equal};
138+
use Tpetry\QueryExpressions\Value\Value;
139+
use App\Models\User;
140+
141+
User::query()
142+
->select([
143+
"id",
144+
new Alias(
145+
new CaseGroup(
146+
when: [
147+
new CaseRule(new Value("Admin"), new Equal("role", new Value(3))),
148+
new CaseRule(new Value("Editor"), new Equal("role", new Value(2))),
149+
new CaseRule(new Value("Viewer"), new Equal("role", new Value(1)))
150+
],
151+
else: new Value("Unknown Role")
152+
),
153+
"role_name"
154+
)
155+
])
156+
->get();
157+
```
158+
132159
### Operators
133160

134161
#### Arithmetic Operators

0 commit comments

Comments
 (0)