Хочу получить участников, связанных с регистрацией, с идентификатором «2».Но с кодом ниже:
dd($registrationID); // shows "2".
$registrationDetails = Registration::with([
'participants' => function ($query) use ($registrationID) {
$query->select('id', 'ticket_type_id')->where('registration_id', $registrationID);
}
])->find($registrationID);
dd($registrationDetails);
появляется пустая коллекция:
Registration {#286 ▼
#relations: array:1 [▼
"participants" => Collection {#106 ▼
#items: []
}
]
...
}
Но в таблице участников есть 2 записи, где registration_id = 2.
DoВы знаете, где проблема?Почему возвращает пустую коллекцию, а не коллекцию с 2 элементами?
С помощью select () уже работает:
$registrationDetails = Registration::with([
'participants' => function ($query) use ($registrationID) {
$query->select()->where('registration_id', $registrationID);
}
])->find($registrationID);
При использовании только select () отображается элемент, связанный с регистрацией:
Registration {#264 ▼
...
#relations: array:1 [▼
"participants" => Collection {#266 ▼
#items: array:1 [▶]
}
]
}