File tree Expand file tree Collapse file tree 3 files changed +20
-1
lines changed Expand file tree Collapse file tree 3 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -453,7 +453,7 @@ defmodule Plasm do
453
453
key
454
454
end
455
455
456
- defp model ( % Ecto.Query { from: { _table_name , model_or_query } } ) do
456
+ defp model ( % Ecto.Query { from: % Ecto.Query.FromExpr { source: { _ , model_or_query } } } ) do
457
457
model ( model_or_query )
458
458
end
459
459
defp model ( model ) , do: model
Original file line number Diff line number Diff line change @@ -33,4 +33,17 @@ defmodule Plasm.FindTest do
33
33
# Assert
34
34
assert user == user1
35
35
end
36
+
37
+ test ".find with an integer and a prior query" do
38
+ # Arrange
39
+ user1 = insert ( :user , age: 18 )
40
+ insert ( :user , age: 18 )
41
+ insert ( :user , age: 81 )
42
+
43
+ # Act
44
+ user = User |> User . for_age ( 18 ) |> Plasm . find ( user1 . id ) |> Repo . one
45
+
46
+ # Assert
47
+ assert user == user1
48
+ end
36
49
end
Original file line number Diff line number Diff line change 1
1
defmodule Plasm.User do
2
2
use Ecto.Schema
3
+ import Ecto.Query
3
4
4
5
schema "users" do
5
6
field :name , :string
@@ -8,4 +9,9 @@ defmodule Plasm.User do
8
9
9
10
timestamps ( type: :utc_datetime )
10
11
end
12
+
13
+ def for_age ( query , age ) do
14
+ from u in query ,
15
+ where: u . age == ^ age
16
+ end
11
17
end
You can’t perform that action at this time.
0 commit comments