wernerlaude
How to get all entries by user_id
In AR this is so simple
@articles = current_user.articles
How to do in Ecto?
def index(conn, _params) do
current_user = conn.assigns.current_user
meetings = Listings.list_meetings() #works..sure but I only want current_user ones..
Tried all what I could find in goo, but no success!
#meetings = Repo.get_by!(Meeting, user_id: current_user.id) #nope, but anyway ..is this getting all or only one entry?
=> Enumerable not implemented for
meetings = Repo.all(Meeting) |> where(user_id: current_user.id)
=> MeetingController.init/1 is undefined.
some help would be great..thanks
Most Liked
peerreynders
You can if you want to:
field :user_id, :id, primary_key: true
and on legacy databases you sometimes have to.
Ecto.Schema.field/3
Ecto.Migration.table/2
Ecto.Migration.add/3
It still won’t teach you SQL - you’re still on your own for that …
We’re also going assume that you’re comfortable working with relational databases and SQL. You don’t need to be an expert, but you should be familiar with tables, columns, indexes and how to write queries. There are many online tutorials that can walk you through the basics.
narand
The field user_id (i.e. the field for the foreign key) will be automatically added when using belongs_to, so you should not add it yourself.
Should you need to customize the foreign key field name (say when you have two associations to the same schema), you can pass the foreign_key option to belongs_to (see belongs_to/3).
peerreynders
Sure - however AR isn’t available in Ecto (or Phoenix) and I don’t know how much effort it would be to set up a piggybacked environment just for the purpose of generating SQL from active record.
Joe Celko’s stuff is interesting but from what I remember some of the content dealt with a “(prerelease-)reference-level ANSI SQL” that may or may not work on most platforms in the manner presented (so sometimes “translation” may be required). While SQL isn’t exactly moving at the same pace as JavaScript, a lot of his content has been around for awhile, the last (advanced) book update being from 2014.
For the purposes of getting the most out of Programming Ecto
is probably the best bet. The bits of the tutorial I have come across seem to do the job.








