NaN

NaN

Pheonix | Repo controller accepting range for DB request

Project name : with_db
DB name : with_db_dev
Schema : Bubble

Ive created a new FN in the controller file

in buble_conntroller.ex

def range(conn, %{"num" => number}) do
    bubbles = WithDbJson.get_bubble_range(number)
    render(conn, "index.json", bubbles: bubbles)
  end

in with_db_json.ex

def get_bubble_range(num) do
    Repo.all(from(m in Bubble, where: m.id <= ^(num - 60), where: m.id >= ^num, select: m))
  end

that accepts a range from

in router.ex

scope "/api", WithDbWeb do
    pipe_through :api
    resources "/all", BubbleController, only: [:index, :show]
    get "/:num", BubbleController, :range
  end

the above returns the following error in the browser / terminal : bad argument in arithmetic expression

Solution in code :

 def get_bubble_range(num) do

    {num, _men} = Integer.parse(num)

    maths = num - 60

    Repo.all(
      from(m in Bubble, where: fragment("? BETWEEN ? AND ?", m.id, ^maths, ^num), select: m)
    )
end

Marked As Solved

LostKobrakai

LostKobrakai

You receive parameters as strings. You cannot do math on strings without converting them to numbers (integer/float) first.

Where Next?

Popular in Questions Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
Lily
In templates/appointment/index.html.eex: &lt;%= for appointment &lt;- @appointments do %&gt; &lt;tr&gt; &lt;td&gt;&lt;%= appoi...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

Other popular topics Top

Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 44139 214
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement