Laravel ID限制

时间:2019-02-23 13:58:47

标签: database laravel controller limit

我有下面的代码从数据库中获取所有消息。所有消息均包含room_ID。当我转到localhost:8000 / api / messages时,我希望每个房间都有20条最新消息。有可能吗?

public function showAll()
{
    $messages = Message::all();

    foreach ($messages as $message) {
        $message->user;
        $message->room;
    }

    return response()->json($messages);
}

1 个答案:

答案 0 :(得分:3)

您需要的是这个

https://laravel.com/docs/5.7/pagination

平坦而简单,您只需对每个房间都这样做:

$messages = Message::where('room_id', $room->id)->orderBy('date_column')
    ->paginate(20)->get();

如果正确设置关系,则可以简化此过程。