Вы пытаетесь нарисовать свойство из коллекции, а не из одного экземпляра объекта.
Коллекция $report
- это не отдельный объект, это набор отчетов. Каждый отчет в этой коллекции будет иметь свойство reported_user
, но не коллекцию в целом.
Чтобы исправить это, вы можете либо получить один отчет из БД:
$report = Report::first();
, где у вас будет доступ к полю reported_user
для этого объекта, или вы можете oop в отчетах, которые вы составили из исходной коллекции :
foreach($report as $r){
$reportedUser = DB::table('users')
->where('id', '=', $r->reported_user)
->first();
}
Предложите назвать исходную коллекцию отчетов как $reports
, чтобы избежать путаницы и показать, что это коллекция, а не отдельный объект отчета.
Также - обратите внимание, что я сделал то же самое в l oop - захватите объект, а не коллекцию, используя метод first()
, вместо get()
.
EDIT :
Выше был простой пример для объяснения . Чтобы предотвратить множество вызовов БД, вы также можете сделать это:
$reports = Report::pluck('reported_user');
$reportedUsers = DB::table('users')
->whereIn('id', $reports)
->get();
Теперь у вас есть коллекция всех reported_user
с полной детализацией. Затем вы можете l oop на этой $reportedUsers
коллекции и получить детали каждой из них.