java activerecord.db_rails ActiveRecord 操作数据库 - 笨小孩....................................................

rails ActiveRecord 操作数据库(CRUD)

Create:

添加记录

(1) new 和 save

user = User.new

user.name = value1

user.password = value2

user.save

(2) create 下面增加了两条记录

User.create([{:name=>value1,:password=>value2},{:name=>value3,:password=>value4}])

使用 块  作为构造参数 添加记录

User.new do |f|

f.name = value1

f.password = value2

f.save

end

使用 Hash对象 作为构造参数 添加记录

user=User.new(

:name=>value1,

:password=>value2

)

user.save

Delete:

删除记录

message = Message.find(params[:id]) #找到该message对象,ruby的变量是随时可以变的,而且可以直接作为对象变量

message.destroy

Update:

更新记录

@message = Message.update(params[:id],:detail=>params[:message][:detail])

其中params[:id] 取得的是主键id,由表单提交时的 :id参数传过来

ClientInfo.update_all("password ="+"'"+password.to_s+"'","email= "+"'"+email.to_s+"'");

update_all(" status = '1' ",

"client_info_id = #{id} and status = 0"

)

find(:first,:conditions=>["client_id=? and name='投资组合'",value1]).update_attributes(

:status=>value2)

Order.find(12).update_attributes(:name=>"Barney",:email=>"barney@bedrock.com")

根据条件update

ref:

http://dev.rubyonrails.org/ticket/5961

Search:

根据一个字段指定的名称查询

mymessage = Message.find(:all,:conditions=>["user_id=?",session[:user_id]])

查询messages表中user_id为session[:user_id]值的对象

根据主键的id查询

user = User.find(1)

查询users表中主键id为1的User对象

user.name 即可得到该对象的name值

user.password 即可得到该对象的password值

查询两个字段

User.find(:all,:conditions=>["name=? and password=?",name,password])

查询全部记录

User.find(:all) 或者 User.all

取得某一对象name字段值

User.find(params[:id]).name

Select :

根据 id 查询 数据记录集

vo = Post.find :all , :conditions => ["type = 'BlogPost' "]

vo2 = Comment.find :all , :conditions => ["commentable_type = 'Post' "]

Activity.find(:all,

:conditions => ["activities.item_id in (?) and item_type = 'Post' or activities.item_id in (?) and item_type = 'Comment' ",vo.map(&:id).uniq , vo2.map(&:id).uniq],

:order => 'activities.created_at DESC',

:limit => GLOBAL_FEED_SIZE

)

上述查询结果为 : select 出 activities表的item_type = Post 并且 item_id 在vo记录集 中 加上 item_type = Comment 并且 item_id 在vo2记录集 中,

ref:

http://www.spacevatican.org/2008/4/29/include-and-conditions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值