Neuron-PHP

IContactSubmissionRepository

Contract for persisting and retrieving contact form submissions.

Table of Contents

Methods

create()  : int
Insert a submission and return its new id.
delete()  : bool
Delete a submission by id.
findById()  : array<string, mixed>|null
Find a submission by id.
formKeys()  : array<int, string>
Distinct form keys present in stored submissions (for filter UI).
markDelivered()  : bool
Mark a submission as delivered (sets delivered + delivered_at).
paginate()  : array{items: array>, total: int, page: int, per_page: int, pages: int}
Return a page of submissions, newest first, optionally filtered by form key.

Methods

create()

Insert a submission and return its new id.

public create(array<string, mixed> $data) : int
Parameters
$data : array<string, mixed>

Row data (payload should already be json_encoded)

Return values
int

The inserted row id

findById()

Find a submission by id.

public findById(int $id) : array<string, mixed>|null
Parameters
$id : int
Return values
array<string, mixed>|null

Associative row, or null when not found

formKeys()

Distinct form keys present in stored submissions (for filter UI).

public formKeys() : array<int, string>
Return values
array<int, string>

markDelivered()

Mark a submission as delivered (sets delivered + delivered_at).

public markDelivered(int $id) : bool
Parameters
$id : int
Return values
bool

paginate()

Return a page of submissions, newest first, optionally filtered by form key.

public paginate([int $page = 1 ][, int $perPage = 25 ][, string|null $formKey = null ]) : array{items: array>, total: int, page: int, per_page: int, pages: int}
Parameters
$page : int = 1

Page number (1-based)

$perPage : int = 25

Items per page

$formKey : string|null = null

Optional form key filter

Return values
array{items: array>, total: int, page: int, per_page: int, pages: int}
On this page

Search results