我得到了一个旧的 (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 升级,我无法找到任何好的示例来说明如何进行此操作。
任何人都可以在正确的方向上给我一个很好的推动吗?