Skip to content

Commit a2379b4

Browse files
authored
FormSubmission transform should return a DataCollection not a normal collection (#477)
1 parent f9b422e commit a2379b4

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/Forms/SubmissionQueryBuilder.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Forms;
44

55
use Statamic\Contracts\Forms\SubmissionQueryBuilder as BuilderContract;
6+
use Statamic\Data\DataCollection;
67
use Statamic\Facades\Form;
78
use Statamic\Query\EloquentQueryBuilder;
89
use Statamic\Support\Str;
@@ -34,7 +35,7 @@ protected function column($column)
3435

3536
protected function transform($items, $columns = [])
3637
{
37-
return $items->map(function ($model) {
38+
return DataCollection::make($items)->map(function ($model) {
3839
return Submission::fromModel($model)
3940
->form(Form::find($model->form));
4041
});

tests/Forms/FormSubmissionTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
use Carbon\Carbon;
66
use Illuminate\Support\Facades\Event;
77
use PHPUnit\Framework\Attributes\Test;
8+
use Statamic\Data\DataCollection;
89
use Statamic\Eloquent\Forms\FormModel;
10+
use Statamic\Eloquent\Forms\Submission;
911
use Statamic\Eloquent\Forms\SubmissionModel;
1012
use Statamic\Events\SubmissionCreated;
1113
use Statamic\Events\SubmissionDeleted;
@@ -169,4 +171,19 @@ public function it_should_delete_quietly()
169171
Event::assertDispatched(SubmissionDeleted::class);
170172
$this->assertSame($result, true);
171173
}
174+
175+
#[Test]
176+
public function querying_submissions_should_return_data_collections()
177+
{
178+
$form = Facades\Form::make('test');
179+
180+
$form->makeSubmission([
181+
'name' => 'John Doe',
182+
])->save();
183+
184+
$submissions = $form->querySubmissions()->get();
185+
186+
$this->assertInstanceOf(DataCollection::class, $submissions);
187+
$this->assertEveryItemIsInstanceOf(Submission::class, $submissions);
188+
}
172189
}

0 commit comments

Comments
 (0)