回传带入的参数与primary key(流水编号id)相同的资料。
找到primary key(id)是3的user
user = User.find(3)
=> #<User id: 10, first_name: "Leo">
Model会帮我们翻译成以下的SQL语法
SELECT * FROM users WHERE (users.id = 10) LIMIT 1
特别注意的是,find方法如果没有找到对应的资料,会喷出错误ActiveRecord::RecordNotFound
find_by方法会取回第一个符合条件的资料
#回传第一个符合条件的资料
User.find_by(first_name: 'Leo')
#=> #<User id: 3, first_name: "Leo">
#如果没有对应的资料会回传nil
User.find_by(first_name: 'Jon')
#=> nil
Model同样会帮我们翻译成SQL语法
SELECT * FROM users WHERE (users.first_name = 'Leo') LIMIT 1
where方法则让我们可以得到所有符合条件的集合(collection),如果没有符合的资料则会会传空的集合
#找出所有符合名字是"David"的user且照created_at的时间降序排列
users = User.where(first_name: 'Leo').order(created_at: :desc)
上面的where会找出所有符合条件的集合,而後面的order方法可以决定排列的方式,:desc表示降序(Descending)排列
会帮我们翻译成下面的SQL语法
SELECT * FROM "users" WHERE (users.first_name = 'Leo') ORDER BY created_at DESC
以下做个小总结。
你可以这样回答:
<<: DAY03 环境建构(Anaconda + Jupyter Notebook)及套件工具安装
说明:事件是您在编程时系统内发生的动作或者发生的事情,系统响应事件後,如果需要,您可以某种方式对事件...
课後测验 单选题 感知层(单选题) 1.下列哪一项不属於物联网的应用? A.洗衣机於电费最低时段自...
今天要来介绍TypeScript(TS)函式(Function)的选择性参数(Optional Pa...
我们昨天有提到说,Django是一个Python的框架,理所当然的我们的电脑也要有Python才能运...
1.Refs 似 Document.getElementById() (1)直操作DOM <i...