Skip to content

Commit e8584fd

Browse files
Use $request->validated with validate statement (#308)
1 parent 2d49eed commit e8584fd

13 files changed

+57
-9
lines changed

src/Models/Statements/EloquentStatement.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ public function output(string $controller_prefix, string $context, bool $using_v
5454
$code = "$" . Str::camel($model);
5555
$code .= ' = ';
5656
$code .= $model;
57-
$code .= '::create($request->all());';
57+
58+
if ($using_validation) {
59+
$code .= '::create($request->validated());';
60+
} else {
61+
$code .= '::create($request->all());';
62+
}
5863
} else {
5964
$code = "$" . Str::camel($model) . '->save();';
6065
}

tests/Feature/Generator/ControllerGeneratorTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ public function controllerTreeDataProvider()
174174
['drafts/nested-components.yaml', 'app/Http/Controllers/Admin/UserController.php', 'controllers/nested-components.php'],
175175
['drafts/respond-statements.yaml', 'app/Http/Controllers/Api/PostController.php', 'controllers/respond-statements.php'],
176176
['drafts/resource-statements.yaml', 'app/Http/Controllers/UserController.php', 'controllers/resource-statements.php'],
177+
['drafts/save-without-validation.yaml', 'app/Http/Controllers/PostController.php', 'controllers/save-without-validation.php'],
177178
];
178179
}
179180
}

tests/Unit/Models/Statements/EloquentStatementTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ public function output_generates_code_for_save_using_create()
5050
$this->assertEquals('$post = Post::create($request->all());', $subject->output('', 'store'));
5151
}
5252

53+
/**
54+
* @test
55+
*/
56+
public function output_generates_code_for_save_using_create_when_validation_is_used()
57+
{
58+
$subject = new EloquentStatement('save', 'Post');
59+
60+
$this->assertEquals('$post = Post::create($request->validated());', $subject->output('', 'store', true));
61+
}
62+
5363
/**
5464
* @test
5565
*/

tests/fixtures/controllers/certificate-controller.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function index(Request $request)
2828
*/
2929
public function store(CertificateStoreRequest $request)
3030
{
31-
$certificate = Certificate::create($request->all());
31+
$certificate = Certificate::create($request->validated());
3232

3333
return new CertificateResource($certificate);
3434
}

tests/fixtures/controllers/certificate-type-controller.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function index(Request $request)
2828
*/
2929
public function store(CertificateTypeStoreRequest $request)
3030
{
31-
$certificateType = CertificateType::create($request->all());
31+
$certificateType = CertificateType::create($request->validated());
3232

3333
return new CertificateTypeResource($certificateType);
3434
}

tests/fixtures/controllers/controller-configured.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function index(Request $request)
2626
*/
2727
public function store(UserStoreRequest $request)
2828
{
29-
$user = User::create($request->all());
29+
$user = User::create($request->validated());
3030

3131
$request->session()->flash('user.name', $user->name);
3232

tests/fixtures/controllers/custom-models-namespace.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function index(Request $request)
2828
*/
2929
public function store(TagStoreRequest $request)
3030
{
31-
$tag = Tag::create($request->all());
31+
$tag = Tag::create($request->validated());
3232

3333
return new TagResource($tag);
3434
}

tests/fixtures/controllers/nested-components.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function index(Request $request)
3030
*/
3131
public function store(UserStoreRequest $request)
3232
{
33-
$user = User::create($request->all());
33+
$user = User::create($request->validated());
3434

3535
Notification::send($user, new InviteNotification($user));
3636

tests/fixtures/controllers/readme-example-notification-facade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function index(Request $request)
2929
*/
3030
public function store(PostStoreRequest $request)
3131
{
32-
$post = Post::create($request->all());
32+
$post = Post::create($request->validated());
3333

3434
Notification::send($post->author, new ReviewNotification($post));
3535

tests/fixtures/controllers/readme-example-notification-model.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function index(Request $request)
2727
*/
2828
public function store(PostStoreRequest $request)
2929
{
30-
$post = Post::create($request->all());
30+
$post = Post::create($request->validated());
3131

3232
$post->author->notify(new ReviewNotification($post));
3333

0 commit comments

Comments
 (0)