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);
}
我有一个 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);
}