Product
class Product extends BaseModel implements HasMedia (View source)
Traits
Properties
protected array | $additionalSearchFields | Define the additional fields we want to index. |
from Searchable |
protected array | $additionalFilterableFields | Define the additional filterable fields. |
from Searchable |
protected array | $additionalSortableFields | Define the additional sortable fields. |
from Searchable |
protected array | $filterable | Define our base filterable attributes. |
|
protected array | $sortable | Define our base sortable attributes. |
|
protected array | $fillable | Define which attributes should be fillable during mass assignment. |
|
protected array | $casts | Define which attributes should be cast. |
|
int | $id | ||
?int | $brand_id | ||
int | $product_type_id | ||
string | $status | ||
array | $attribute_data | ||
Carbon | $created_at | ||
Carbon | $updated_at | ||
Carbon | $deleted_at |
Methods
Get new instance of the registered model.
Handle dynamic and static method calls into the model.
Forward a method call to the model only when calling a method on the model.
Register a model event with the dispatcher.
Fire the given event for the model.
Remove all the event listeners for the model.
Apply the channel scope to the query
Translate a given attribute based on passed locale.
Translate a value from attribute data.
Return whether or not the models provided are suitable for scheduling.
Unschedule models for a relation.
Return the customer groups relationship.
Schedule models against customer groups.
Unschedule models against a customer group.
Apply customer group scope.
Apply the customer group scope
{@inheritDoc}
Add an attribute into the additional searchable fields.
Handle dynamic static method calls into the model.
Get the name of the index associated with the model.
Return a new factory instance for the model.
Returns the attributes to be stored against this model.
Return the product type relation.
Return the product images relation.
Return the product variants relation.
Return the product collections relation.
Return the associations relationship.
Return the associations relationship.
Associate a product to another with a type.
Dissociate a product to another with a type.
Return the brand relationship.
Apply the status scope.
Return the prices relationship.
Details
Model
newInstance(array $attributes = [], bool $exists = false)
Get new instance of the registered model.
mixed
__call(string $method, array $parameters)
Handle dynamic and static method calls into the model.
Model
swap(string $newModelClass)
Swap the model implementation.
string
getMorphClass()
Get the class name of the base model.
protected bool
forwardCallsWhen(string $method, Model $model)
Forward a method call to the model only when calling a method on the model.
static protected void
registerModelEvent(string $event, QueuedClosure|Closure|string $callback)
Register a model event with the dispatcher.
protected mixed
fireModelEvent(string $event, bool $halt = true)
Fire the given event for the model.
static void
flushEventListeners()
Remove all the event listeners for the model.
__construct(array $attributes = [])
Create a new instance of the Model.
MorphOne
thumbnail()
Relationship for thumbnail.
void
registerMediaCollections()
No description
void
registerMediaConversions(Media $media = null)
No description
LogOptions
getActivitylogOptions()
Get the log options for the activity log.
static
bootHasChannels()
No description
Channel>
channels()
Get all of the models channels.
MorphToMany
activeChannels()
Return the active channels relationship.
Builder
scopeChannel(Builder $query, Channel|iterable $channel = null, DateTime $startsAt = null, DateTime $endsAt = null)
Apply the channel scope to the query
string
translate(string $attribute, string $locale = null)
Translate a given attribute based on passed locale.
string
translateAttribute(string $attribute, string $locale = null)
Translate a value from attribute data.
void
attr(...$params)
Shorthand to translate an attribute.
Tag>
tags()
Get the tags
syncTags(Collection $tags)
No description
abstract protected void
validateScheduling(Collection $models)
Return whether or not the models provided are suitable for scheduling.
protected void
schedule(Relation $relation, mixed $models, DateTime $starts = null, DateTime $ends = null, array $pivotData = [])
Schedule models for a given relation.
protected void
unschedule(Relation $relation, mixed $models, array $pivotData = [])
Unschedule models for a relation.
BelongsToMany
customerGroups()
Return the customer groups relationship.
void
scheduleCustomerGroup(mixed $models, DateTime $starts = null, DateTime $ends = null, array $pivotData = [])
Schedule models against customer groups.
void
unscheduleCustomerGroup(mixed $models, array $pivotData = [])
Unschedule models against a customer group.
Builder
applyCustomerGroupScope(Builder $query, Collection $groupIds, DateTime $startsAt, DateTime $endsAt)
Apply customer group scope.
Builder
scopeCustomerGroup(Builder $query, CustomerGroup|iterable $customerGroup = null, DateTime $startsAt = null, DateTime $endsAt = null)
Apply the customer group scope
static void
bootHasUrls()
Boot the trait.
urls()
Get all of the models urls.
defaultUrl()
No description
getSearchableAttributes()
{@inheritDoc}
array
getFilterableAttributes()
Return our base attributes we want filterable.
void
addFilterableAttributes(array $attributes)
Add additional fields to filter on.
void
addSortableAttributes(array $attributes)
Add additional sortable attributes.
array
getSortableAttributes()
Return our base attributes we want sortable.
getObservableEvents()
{@inheritDoc}
void
addSearchableAttribute(string $key, string|mixed $value)
Add an attribute into the additional searchable fields.
toSearchableArray()
{@inheritDoc}
searchableUsing()
{@inheritDoc}
static mixed
__callStatic(string $method, array $parameters)
Handle dynamic static method calls into the model.
string
searchableAs()
Get the name of the index associated with the model.
static protected ProductFactory
newFactory()
Return a new factory instance for the model.
array
mappedAttributes()
Returns the attributes to be stored against this model.
BelongsTo
productType()
Return the product type relation.
MorphMany
images()
Return the product images relation.
HasMany
variants()
Return the product variants relation.
BelongsToMany
collections()
Return the product collections relation.
HasMany
associations()
Return the associations relationship.
HasMany
inverseAssociations()
Return the associations relationship.
void
associate(mixed $product, string $type)
Associate a product to another with a type.
void
dissociate(mixed $product, string $type = null)
Dissociate a product to another with a type.
BelongsTo
brand()
Return the brand relationship.
Builder
scopeStatus(Builder $query, string $status)
Apply the status scope.
HasManyThrough
prices()
Return the prices relationship.