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
待續.............
posted on 2009-03-20 19:03
fl1429 閱讀(1354)
評論(0) 編輯 收藏 所屬分類:
Rails