Я создаю небольшое приложение на Laravel 5.6
, где у меня есть Company
модель, где у меня есть hasMany
отношение к модели FinancialAndRisk
примерно так:
class Company extends Model {
use SoftDeletes;
protected $fillable = [
'name', 'slug', 'establishment', 'parent_id', 'website', 'updates'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'created_at','updated_at','deleted_at'
];
public function financial()
{
return $this->hasMany('Noetic\Plugins\Conxn\Models\Company\FinancialAndRisk', 'company_id');
}
public function latestFinancial()
{
return $this->hasMany('Noetic\Plugins\Conxn\Models\Company\FinancialAndRisk', 'company_id')->latest()->first();
}
}
Теперь в некоторых местах мне нужен последний финансовый отчет, поэтому я сделал функцию latestFinancial
Но когда в своем контроллере я делаю что-то вроде этого:
public function index()
{
$companies = Company::with('latestFinancial')->get();
return response()->json(['companies' => $companies], 200);
}
Я получаю ошибку:
{
"message": "Method Illuminate\\Database\\Query\\Builder::addEagerConstraints does not exist.",
"exception": "BadMethodCallException",
"file": "D:\\xampp\\htdocs\\conxn\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2671,
Как мне решить эту проблему.