Итак, у меня approved_quote
отношения на моей jobs
модели.
public function approved_quote()
{
return $this->hasOne(JobQuote::class, 'job_id')->whereNotNull('approved_at');
}
Я хочу отозвать продукты, которые были указаны.Я попробовал несколько методов, однако оба имеют неожиданные результаты.
Попытка 1
public function quoted_job_products()
{
return $this->hasMany(JobProduct::class, 'job_id')->where('job_quote_id', $this->approved_quote()->first()->id ?? 0);
}
Однако $this->approved_quote->get();
возвращает 14 записей, которые на самом деле не актуальны (или вправо) и поэтому ->first()
просто возвращает первое из того, что является неправильным.
Попытка 2
public function quoted_job_products()
{
return $this->hasMany(JobProduct::class, 'job_id')->where('job_quote_id', $this->approved_quote->id ?? 0);
}
$this->approved_quote
возвращает ноль, и поэтомуне работает.
Есть предложения, как этого достичь?(Желательно без approved_quote_id
на jobs
, однако я буду, если потребуется).