在 Rails 中查询
Querying in Rails
如何通过 table 朋友以 user_id 条件 user_id 5 引用的 table 朋友获取名字和姓氏并且状态未决并将其放在每个循环中,但我还需要 rails 中的朋友控制器的内容。非常感谢帮助
控制器
@add = Friend.where(user_id: 5, status: 'Pending')
用户数据库
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| first_name | text | YES | | NULL | |
| last_name | text | YES | | NULL | |
| email | text | YES | | NULL | |
| contact_number | varchar | YES | | NULL | |
| birth_date | date | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
朋友
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| request_date | date | YES | | NULL | |
| reason | text | YES | | NULL | |
| status | varchar(255) | YES | | NULL | |
| userid | int | YES | MUL | NULL | |
您需要在 Friend model
belongs_to user
完成,然后
@add =Friend.where("user_id = ? AND status = ?", 5,"Pending")
和
<@add.each do |s|>
<%s.user.first_name%>
<%=<%s.user.last_name%>
// and so on..
<%end%>
您似乎已经获取了存储在 user_id 字段中的用户 ID。为了获得关联用户,我会做
@user = User.find(@add.id)
这会根据您传递的 ID 检索用户,您可以从那里执行类似
的操作
@user.first_name
获取值
这个怎么样:
@add = Friend.joins(:user).select("users.first_name, users.last_name").where(user_id: 5, status: 'Pending')
如何通过 table 朋友以 user_id 条件 user_id 5 引用的 table 朋友获取名字和姓氏并且状态未决并将其放在每个循环中,但我还需要 rails 中的朋友控制器的内容。非常感谢帮助
控制器
@add = Friend.where(user_id: 5, status: 'Pending')
用户数据库
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| first_name | text | YES | | NULL | |
| last_name | text | YES | | NULL | |
| email | text | YES | | NULL | |
| contact_number | varchar | YES | | NULL | |
| birth_date | date | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
朋友
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| request_date | date | YES | | NULL | |
| reason | text | YES | | NULL | |
| status | varchar(255) | YES | | NULL | |
| userid | int | YES | MUL | NULL | |
您需要在 Friend model
belongs_to user
完成,然后
@add =Friend.where("user_id = ? AND status = ?", 5,"Pending")
和
<@add.each do |s|>
<%s.user.first_name%>
<%=<%s.user.last_name%>
// and so on..
<%end%>
您似乎已经获取了存储在 user_id 字段中的用户 ID。为了获得关联用户,我会做
@user = User.find(@add.id)
这会根据您传递的 ID 检索用户,您可以从那里执行类似
的操作@user.first_name
获取值
这个怎么样:
@add = Friend.joins(:user).select("users.first_name, users.last_name").where(user_id: 5, status: 'Pending')