Open
Description
Below is my implementation I have used order_by condition
The data on the first page is fine but when I paginate to other pages I get 1-2 rows every time from previous pages.
{:phoenix_ecto, "~> 4.0.0"},
{:ecto, "~> 3.4.0"},
{:ecto_sql, "~> 3.3"},
{:postgrex, ">= 0.0.0"},
{:scrivener_ecto, "~> 2.7"},
def all(%{"rule_set_id" => rule_set_id, "is_archived" => is_archived, "page" => page_number}) do
page = from(rsv in @model,
where: rsv.rule_set_id == ^rule_set_id and rsv.is_archived == ^is_archived,
order_by: [desc: rsv.is_live, desc: rsv.start_time]
)
# |> Repo.all()
# |> preload(@default_preloads)
|> Repo.paginate(page: page_number, page_size: 5)
{:ok, %{
"rule_set_versions" => page.entries |> preload(@custom_preloads),
"page_number" => page.page_number,
"page_size" => page.page_size,
"total_pages" => page.total_pages,
"total_rows" => page.total_entries
}
}
end
Metadata
Metadata
Assignees
Labels
No labels