Laravel: 如何从二维 ID 数组获取关系模型

Laravel: How to get relational model from 2D array of IDs

我有一个 ID 数组 $bookingPaymentPending[attendee_id][program_id] =

array(2) { [416]=> array(2) { [0]=> int(2) [1]=> int(4) } 
           [417]=> array(2) { [0]=> int(2) [1]=> int(4) } } 

我想获取 attendee 及其 programs 的关系模型集合。基本上我想访问 $attendee->programs

我这样做....

foreach ($bookingsPaymentPending as $attendee_id => $program_ids)
{
  $attendees[$attendee_id] = Attendee::find($attendee_id)->with(['scheduled_programs' => function($q) use ($program_ids)
  {
    $q->whereIn('id', $program_ids);
  }]);
}

但是 $attendees 不对,因为我不知道如何将它放入 eloquent 模型中。有人可以告诉我如何正确执行此操作吗?有没有简单的 eloquent 方法来做到这一点?或者查询生成器是可行的方法吗?

这是否为您提供了预期的输出?

$attendees = Attendee::with('scheduled_programs')
    ->whereIn('id', array_keys($bookingPaymentPending))
    ->get();

foreach($attendees as $attendee){
    var_dump($attendee->scheduled_programs);
}