Appearance
Tax Class Model
| DB Table Name | {wp_db_prefix}_fct_tax_classes |
|---|---|
| Schema | Check Schema |
| Source File | fluent-cart/app/Models/TaxClass.php |
| Name Space | FluentCart\App\Models |
| Class | FluentCart\App\Models\TaxClass |
Attributes
| Attribute | Data Type | Comment |
|---|---|---|
| id | Integer | Primary Key |
| title | String | Tax class title |
| description | Text | Tax class description |
| meta | JSON | Additional metadata |
| slug | String | URL-friendly slug (auto-generated) |
| created_at | Date Time | Creation timestamp |
| updated_at | Date Time | Last update timestamp |
Usage
Please check Model Basic for Common methods.
Accessing Attributes
php
$taxClass = FluentCart\App\Models\TaxClass::find(1);
$taxClass->id; // returns id
$taxClass->title; // returns title
$taxClass->description; // returns description
$taxClass->slug; // returns slugMethods
Along with Global Model methods, this model has few helper methods.
setMetaAttribute($value)
Set meta with automatic JSON encoding (mutator)
- Parameters
- $value - mixed (array, object, or string)
- Returns
void
Usage
php
$taxClass->meta = ['tax_rate' => 8.5, 'exempt_products' => [1, 2, 3]];
// Automatically JSON encodes arrays and objectsgetMetaAttribute($value)
Get meta with automatic JSON decoding (accessor)
- Parameters
- $value - mixed
- Returns
array
Usage
php
$meta = $taxClass->meta; // Returns decoded arraygenerateUniqueSlug($title, $ignoreId = null)
Generate unique slug for tax class (static method)
- Parameters
- $title - string
- $ignoreId - integer|null (default: null)
- Returns
string
Usage
php
$slug = FluentCart\App\Models\TaxClass::generateUniqueSlug('Standard Tax');
// Returns: "standard-tax"Usage Examples
Get Tax Classes
php
$taxClass = FluentCart\App\Models\TaxClass::find(1);
echo "Title: " . $taxClass->title;
echo "Description: " . $taxClass->description;
echo "Slug: " . $taxClass->slug;Create Tax Class
php
$taxClass = FluentCart\App\Models\TaxClass::create([
'title' => 'Standard Tax',
'description' => 'Standard tax rate for most products',
'meta' => [
'tax_rate' => 8.5,
'exempt_products' => [],
'applicable_regions' => ['US', 'CA']
]
]);
// Slug will be automatically generated as "standard-tax"Get All Tax Classes
php
$taxClasses = FluentCart\App\Models\TaxClass::all();
foreach ($taxClasses as $class) {
echo "Class: " . $class->title . " (" . $class->slug . ")";
}Get Tax Class by Slug
php
$taxClass = FluentCart\App\Models\TaxClass::where('slug', 'standard-tax')->first();Update Tax Class
php
$taxClass = FluentCart\App\Models\TaxClass::find(1);
$taxClass->update([
'title' => 'Updated Tax Class',
'description' => 'Updated description',
'meta' => ['tax_rate' => 9.0, 'updated' => true]
]);
// Slug will be automatically updated if title changesGet Tax Classes with Meta
php
$taxClasses = FluentCart\App\Models\TaxClass::all();
foreach ($taxClasses as $class) {
$meta = $class->meta;
if (isset($meta['tax_rate'])) {
echo "Class: " . $class->title . " - Rate: " . $meta['tax_rate'] . "%";
}
}Search Tax Classes
php
$searchResults = FluentCart\App\Models\TaxClass::where('title', 'like', '%Standard%')->get();Delete Tax Class
php
$taxClass = FluentCart\App\Models\TaxClass::find(1);
$taxClass->delete();Get Tax Classes Ordered by Title
php
$orderedClasses = FluentCart\App\Models\TaxClass::orderBy('title', 'asc')->get();Generate Unique Slug
php
$slug = FluentCart\App\Models\TaxClass::generateUniqueSlug('New Tax Class');
// Returns: "new-tax-class" or "new-tax-class-2" if existsGet Tax Classes with Specific Meta
php
$taxClasses = FluentCart\App\Models\TaxClass::all();
foreach ($taxClasses as $class) {
$meta = $class->meta;
if (isset($meta['tax_rate']) && $meta['tax_rate'] > 8.0) {
echo "High Tax Class: " . $class->title;
}
}