1

我得到了一个旧的 (v4.2) Laravel 应用程序来修改。该应用程序正在通过 Eloquent 为代表提取“信用”,现在需要从 API 中获取它们,该 API 以 JSON 数组的形式返回它们。

在我看到的刀片中{{round($rep->credits->sum('Credits'), 2)}}

代表模型

class Rep extends \Eloquent {    
     public function credits() {
                return   $this->hasMany('Repcredit', 'RepNumber');
        
    }
}

尝试了代表模型:

 class Rep extends \Eloquent {    
    public function credits() {
        $searchParam = [
        "apiId" => 7438,    "data"     => [
                "RepNumber" => $this->attributes['id'],
            ]
        ];
        $result = (new ApiCallerController)->apiSearch($searchParam);
        $result = $result['data'];


        this return the correct data in an array
        | RepNumber | CreditDate    | Credits
        | -------- | -------------- |
        | 51       | 2021-06-01     |  5.21
        | 52       | 2021-06-01     |  6.32
        | 51       | 2021-06-04     |  2.87

            
        return $result;
     }
}

但后来我得到一个错误 1Relationship method must return an object of typeIlluminate\Database\Eloquent\Relations\Relation (View: /var/www/html/app/views/reps/show.blade.php)

我将退货更改为return $this->hasMany($result, 'RepNumber');,现在出现错误 Call to undefined method Illuminate\Support\Collection::newQuery()

Laravel 的较新版本似乎有很多资源,但由于我无法从 v4.2 升级,我无法找到任何好的示例来说明如何进行此操作。

任何人都可以在正确的方向上给我一个很好的推动吗?

4

0 回答 0