Buffalo Eats Online API Documentation

Business extends Model
in package

Business model for client restaurant/food business profiles.

Tags
author

J.J. Johnson visionquest716@gmail.com

copyright

2026 VisionQuestServices LLC

Table of Contents

Properties

$db  : PDO
$fillable  : array<string|int, mixed>
$primaryKey  : string
$table  : string

Methods

__construct()  : mixed
Initialize model with database connection.
all()  : array<string|int, mixed>
Get all records from the table.
count()  : int
Count records matching optional conditions.
create()  : int
Create a new record.
delete()  : bool
Delete a record by primary key.
deleteWithFiles()  : bool
Delete a business and its associated uploaded files.
find()  : array<string|int, mixed>|null
Find a record by primary key.
findBy()  : array<string|int, mixed>|null
Find a record by a specific field value.
findBySlug()  : array<string|int, mixed>|null
Find a business by its URL slug.
generateSlug()  : string
Generate a URL-friendly slug from a business name.
getActive()  : array<string|int, mixed>
Get all active businesses.
getDb()  : PDO
Get the underlying PDO connection.
paginate()  : array<string|int, mixed>
Paginate records matching conditions.
paginatedAll()  : array<string|int, mixed>
Get a paginated list of all businesses.
query()  : PDOStatement
Execute a raw SQL query with parameter binding.
setAdminOverride()  : bool
Set admin override flag for site mode.
setSiteMode()  : bool
Set the site mode for a business.
toggleOrdersPaused()  : bool
Toggle the orders-paused flag for a business.
update()  : bool
Update a record by primary key.
updateOnboardingStep()  : bool
Update the current onboarding step for a business.
updateSubscriptionStatus()  : bool
Update subscription status fields on a business.
where()  : array<string|int, mixed>
Find records matching conditions.
filterFillable()  : array<string|int, mixed>
Filter data to only include fillable fields.

Properties

$db

protected PDO $db

Database connection

$fillable

protected array<string|int, mixed> $fillable = ['name', 'slug', 'business_type', 'description', 'tagline', 'logo_path', 'favicon_path', 'group_id', 'address_street', 'address_city', 'address_state', 'address_zip', 'phone', 'email', 'website_url', 'social_facebook', 'social_instagram', 'social_twitter', 'social_tiktok', 'payment_processor', 'payment_api_key', 'payment_secret_key', 'accepts_cash', 'accepts_card_onsite', 'accepts_online_payment', 'accepts_venmo', 'venmo_handle', 'accepts_cashapp', 'cashapp_handle', 'accepts_paypal', 'paypal_email', 'accepts_google_pay', 'accepts_apple_pay', 'pwa_push_enabled', 'pwa_install_prompt', 'pwa_offline_menu', 'senior_discount_enabled', 'senior_discount_type', 'senior_discount_value', 'senior_discount_min_age', 'senior_discount_label', 'vapid_public_key', 'vapid_private_key', 'tax_rate', 'tip_options', 'currency', 'timezone', 'storefront_language', 'admin_language', 'order_lead_time', 'orders_paused', 'orders_paused_message', 'checkout_utensil_options', 'thankyou_message', 'default_asap_delay', 'site_status', 'site_status_admin_override', 'onboarding_step', 'onboarding_completed', 'is_active', 'is_wheelchair_accessible', 'accepts_reservations', 'reservation_duration_minutes', 'reservation_buffer_minutes', 'max_party_size', 'min_party_size', 'reservation_lead_hours', 'reservation_advance_days', 'tip_pool_method', 'tip_pool_config', 'overtime_threshold', 'overtime_multiplier', 'pay_period_type', 'max_shift_hours', 'subscription_tier', 'subscription_status']

Mass-assignable fields

$primaryKey

protected string $primaryKey = 'id'

Primary key column

$table

protected string $table = 'businesses'

Database table name

Methods

__construct()

Initialize model with database connection.

public __construct() : mixed

all()

Get all records from the table.

public all([string $orderBy = 'id' ][, string $direction = 'ASC' ]) : array<string|int, mixed>
Parameters
$orderBy : string = 'id'

Column to order by

$direction : string = 'ASC'

Sort direction (ASC or DESC)

Return values
array<string|int, mixed>

count()

Count records matching optional conditions.

public count([array<string|int, mixed> $conditions = [] ]) : int
Parameters
$conditions : array<string|int, mixed> = []

Associative array of field => value pairs

Return values
int

create()

Create a new record.

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

Associative array of field => value pairs

Return values
int

The ID of the newly created record

delete()

Delete a record by primary key.

public delete(int $id) : bool
Parameters
$id : int

Primary key value

Return values
bool

deleteWithFiles()

Delete a business and its associated uploaded files.

public deleteWithFiles(int $id) : bool

Removes logo and photo files from disk before deleting the business record. ON DELETE CASCADE handles related DB records.

Parameters
$id : int

Business ID

Return values
bool

find()

Find a record by primary key.

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

Primary key value

Return values
array<string|int, mixed>|null

findBy()

Find a record by a specific field value.

public findBy(string $field, mixed $value) : array<string|int, mixed>|null
Parameters
$field : string

Column name

$value : mixed

Value to match

Return values
array<string|int, mixed>|null

findBySlug()

Find a business by its URL slug.

public findBySlug(string $slug) : array<string|int, mixed>|null
Parameters
$slug : string

URL-friendly slug

Return values
array<string|int, mixed>|null

generateSlug()

Generate a URL-friendly slug from a business name.

public generateSlug(string $name) : string
Parameters
$name : string

Business name

Return values
string

getActive()

Get all active businesses.

public getActive() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDb()

Get the underlying PDO connection.

public getDb() : PDO
Return values
PDO

paginate()

Paginate records matching conditions.

public paginate(array<string|int, mixed> $conditions, int $page, int $perPage[, string $orderBy = 'id' ][, string $direction = 'ASC' ]) : array<string|int, mixed>
Parameters
$conditions : array<string|int, mixed>

Associative array of field => value pairs

$page : int

Current page number (1-based)

$perPage : int

Records per page

$orderBy : string = 'id'

Column to order by

$direction : string = 'ASC'

Sort direction (ASC or DESC)

Return values
array<string|int, mixed>

Pagination result with data, total, page, per_page, total_pages

paginatedAll()

Get a paginated list of all businesses.

public paginatedAll(int $limit, int $offset) : array<string|int, mixed>
Parameters
$limit : int

Max results per page

$offset : int

Offset for pagination

Return values
array<string|int, mixed>

query()

Execute a raw SQL query with parameter binding.

public query(string $sql[, array<string|int, mixed> $params = [] ]) : PDOStatement
Parameters
$sql : string

SQL query string

$params : array<string|int, mixed> = []

Bound parameters

Return values
PDOStatement

setAdminOverride()

Set admin override flag for site mode.

public setAdminOverride(int $id, bool $override) : bool
Parameters
$id : int

Business ID

$override : bool

Whether admin override is active

Return values
bool

setSiteMode()

Set the site mode for a business.

public setSiteMode(int $id, string $mode) : bool
Parameters
$id : int

Business ID

$mode : string

One of: dev, suspend, live

Return values
bool

toggleOrdersPaused()

Toggle the orders-paused flag for a business.

public toggleOrdersPaused(int $id, bool $paused[, string $message = '' ]) : bool
Parameters
$id : int

Business ID

$paused : bool

Whether orders are paused

$message : string = ''

Custom message to display when paused

Return values
bool

update()

Update a record by primary key.

public update(int $id, array<string|int, mixed> $data) : bool
Parameters
$id : int

Primary key value

$data : array<string|int, mixed>

Associative array of field => value pairs

Return values
bool

updateOnboardingStep()

Update the current onboarding step for a business.

public updateOnboardingStep(int $id, int $step) : bool
Parameters
$id : int

Business ID

$step : int

Step number (1-5)

Return values
bool

updateSubscriptionStatus()

Update subscription status fields on a business.

public updateSubscriptionStatus(int $id, string $tier, string $status) : bool
Parameters
$id : int

Business ID

$tier : string

Subscription tier

$status : string

Subscription status

Return values
bool

where()

Find records matching conditions.

public where(array<string|int, mixed> $conditions[, string $orderBy = 'id' ][, string $direction = 'ASC' ]) : array<string|int, mixed>
Parameters
$conditions : array<string|int, mixed>

Associative array of field => value pairs

$orderBy : string = 'id'

Column to order by

$direction : string = 'ASC'

Sort direction

Return values
array<string|int, mixed>

filterFillable()

Filter data to only include fillable fields.

protected filterFillable(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

Input data

Return values
array<string|int, mixed>

Filtered data


        
On this page

Search results