Используйте отдельные псевдонимы для двух объединений с таблицей president_reports
:
function viewPDF() {
$reports = Report::join('president_report pr1', 'reports.id', '=', 'pr1.report_id')
->join('president_report pr2', 'presidents.id', '=', 'pr2.president_id')->
select('reports.*')->where('pr1.report_id')
->filter()->latest()->get();
$pdf = PDF::loadView('reports.test1', ['reports' => $reports]);
return $pdf->stream('reports.pdf');
}
Обратите внимание, что второе объединение выглядит подозрительно для меня, потому что я не вижу, куда попадает таблица presidents
включены в запрос соединения.Но общее решение проблемы заключается в псевдониме president_report
по-разному для двух соединений.