Neuron-PHP

DatabaseEventRepository
in package
implements IEventRepository

Database-backed event repository.

Works with SQLite, MySQL, and PostgreSQL.

Table of Contents

Interfaces

IEventRepository
Repository interface for Event entities.

Properties

$_pdo  : PDO

Methods

__construct()  : mixed
Constructor
all()  : array<string|int, Event>
Get all events
create()  : Event
Create new event
delete()  : bool
Delete event
findById()  : Event|null
Find event by ID
findBySlug()  : Event|null
Find event by slug
getByCategory()  : array<string|int, Event>
Get events by category
getByCreator()  : array<string|int, Event>
Get events by creator
getByDateRange()  : array<string|int, Event>
Get events by date range
getPast()  : array<string|int, Event>
Get past events
getUpcoming()  : array<string|int, Event>
Get upcoming events
incrementViewCount()  : void
Increment view count
slugExists()  : bool
Check if event slug exists
update()  : Event
Update event
loadRelations()  : void
Load category and creator relationships for an event

Properties

Methods

__construct()

Constructor

public __construct(SettingManager $settings) : mixed
Parameters
$settings : SettingManager

Settings manager with database configuration

Tags
throws
Exception

if database configuration is missing or adapter is unsupported

getByCategory()

Get events by category

public getByCategory(int $categoryId[, string $status = 'published' ]) : array<string|int, Event>
Parameters
$categoryId : int
$status : string = 'published'

Filter by status (default: 'published')

Return values
array<string|int, Event>

getByCreator()

Get events by creator

public getByCreator(int $userId) : array<string|int, Event>
Parameters
$userId : int
Return values
array<string|int, Event>

getByDateRange()

Get events by date range

public getByDateRange(DateTimeImmutable $startDate, DateTimeImmutable $endDate[, string $status = 'published' ]) : array<string|int, Event>
Parameters
$startDate : DateTimeImmutable
$endDate : DateTimeImmutable
$status : string = 'published'

Filter by status (default: 'published')

Return values
array<string|int, Event>

getPast()

Get past events

public getPast([int|null $limit = null ][, string $status = 'published' ]) : array<string|int, Event>
Parameters
$limit : int|null = null

Maximum number of events to return

$status : string = 'published'

Filter by status (default: 'published')

Return values
array<string|int, Event>

getUpcoming()

Get upcoming events

public getUpcoming([int|null $limit = null ][, string $status = 'published' ]) : array<string|int, Event>
Parameters
$limit : int|null = null

Maximum number of events to return

$status : string = 'published'

Filter by status (default: 'published')

Return values
array<string|int, Event>

slugExists()

Check if event slug exists

public slugExists(string $slug[, int|null $excludeId = null ]) : bool
Parameters
$slug : string
$excludeId : int|null = null
Return values
bool

        
On this page

Search results