У меня есть три сущности Inbox , Document , Category
Входящие имеют отношение к документу, а документ имеет много категорий,
У меня есть запрос Eloquent, который проверяет связь между папкой «Входящие» и документом и возвращает папку «Входящие» с данными документов,
Проблема в следующем:
Я хочу перечислить все входящие сообщения с данными документов, только если у документа нет категории (если у него есть одна или несколько категорий, я не хочу перечислять этот документ с его входящими почтовыми ящиками).
Итак, у меня есть этот запрос сейчас, он не работает правильно:
public static function getUserAndJobPositionsInbox($id, $type)
{
return self::with(['documents' => function($q){
$q->has('categories', '==', 0);
}])->where('inboxable_id', $id)
->where('inboxable_type', $type)->get();
}
Этот запрос вернет Входящие данные без документов, если документы не имеют категорий
НО я не хочу входящие данные, если документы не имеют категорий. просто верните пустое
Результат:
{
"data": {
"user_inbox_documents": null,
"job_positions_documents": [
[
{
"id": 2,
"document_id": 3,
"document_reference": "RPL2p",
"inboxable_id": 3,
"inboxable_type": "App\\Models\\JobPosition",
"path_id": "2",
"created_at": "2018-09-12 13:21:23",
"updated_at": "2018-09-12 13:21:23",
"documents": []
}
],
[
{
"id": 1,
"document_id": 3,
"document_reference": "RPL2p",
"inboxable_id": 2,
"inboxable_type": "App\\Models\\JobPosition",
"path_id": "1",
"created_at": "2018-09-12 13:21:23",
"updated_at": "2018-09-12 13:21:23",
"documents": []
}
]
]
}
}
Заранее спасибо.