I’m using method in my model to mutate a single response to my client
When call product Laravel using this method name by default?
JavaScript
x
/**
* Returns product attributes data to use in the API response.
*
* @return IlluminateHttpResourcesJsonAnonymousResourceCollection
*/
public function getAttributes()
{
return ProductAttributeResource::collection($this->attributes);
}
Debugger show this area:
C:xampphtdocs…/…vendorLaravelframeworksrcIlluminateDatabaseEloquentConcernsHasAttributes.php:521
JavaScript
protected function castAttribute($key, $value)
{
$castType = $this->getCastType($key);
if (is_null($value) && in_array($castType, static::$primitiveCastTypes)) {
return $value;
}
switch ($castType) {
case 'int':
case 'integer':
return (int) $value;
case 'real':
How can I resolve this error?
Advertisement
Answer
in my case i use a reserved method name in my model
for example i define a new attribute() method for my one to many relation that i should choose another name for it
just need to rename your getAttributes to getAttribute method in your model
because this name used by Model Class