Я использую laravel 5.7
У меня есть запрос с предложением whereIn
В моем контроллере у меня такой запрос:
$post = Post::whereIn('reply_from_id', [1,2])
->orderBy('created_at', 'desc')->get();
Я получаю вывод, как этот:
[
{
"id": 3,
"title": "test reply id 2",
"reply_from_id": 2
},
{
"id": 4,
"title": "test reply id 1",
"reply_from_id": 1
},
{
"id": 5,
"title": "test reply id 1 again",
"reply_from_id": 1
},
{
"id": 6,
"title": "test reply id 1 again and again",
"reply_from_id": 1
},
{
"id": 7,
"title": "test reply id 2 again",
"reply_from_id": 2
}
]
Я хочу ограничить вывод только 2 данными для каждого идентификатора
, например:
[
{
"id": 3,
"title": "test reply id 2",
"reply_from_id": 2
},
{
"id": 4,
"title": "test reply id 1",
"reply_from_id": 1
},
{
"id": 5,
"title": "test reply id 1 again",
"reply_from_id": 1
},
{
"id": 7,
"title": "test reply id 2 again",
"reply_from_id": 2
},
]
Я пытаюсь использовать take()
следующим образом:
$post = Post::whereIn('reply_from_id', [1,2])
->take(2)
->orderBy('created_at', 'desc')->get();
Но это только показ данных, подобных этой
[
{
"id": 3,
"title": "test reply id 2",
"reply_from_id": 2
},
{
"id": 4,
"title": "test reply id 1",
"reply_from_id": 1
}
]
Как ограничить данные в предложении whereIn?