Php 错误:类App\Http\Resources\ProductAttributeResource的对象无法转换为int

Php 错误:类App\Http\Resources\ProductAttributeResource的对象无法转换为int,php,laravel,debugging,eloquent,laravel-7.x,Php,Laravel,Debugging,Eloquent,Laravel 7.x,我正在使用模型中的方法对客户机的单个响应进行变异 默认情况下,何时使用此方法名称调用product Laravel /** * Returns product attributes data to use in the API response. * * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection */ public function getAttributes() { return Pr

我正在使用模型中的方法对客户机的单个响应进行变异

默认情况下,何时使用此方法名称调用product Laravel

/**
 * Returns product attributes data to use in the API response.
 *
 * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
 */
public function getAttributes()
{
    return ProductAttributeResource::collection($this->attributes);
}
调试器显示此区域:

C:\xampp\htdocs…/…\vendor\Laravel\framework\src\illumb\Database\elount\Concerns\HasAttributes.php:521


如何解决此错误?

在本例中,我在模型中使用保留的方法名

例如,我为一对多关系定义了一个新的attribute()方法,我应该为它选择另一个名称

只需要在模型中将getAttributes重命名为getAttribute方法

因为模型类使用这个名称,所以我在模型中使用attribute()方法。只需重命名该方法laravel use attribute()并将其覆盖。但我想将我的模型连接到属性表。
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':