簡體   English   中英

Rails activerecord 到哪里去 sql

[英]Rails activerecord where to sql

如何僅獲取條件的 sql?

Lead.where(status: 1).to_sql

SELECT `leads`.* FROM `leads` WHERE `leads`.`status` = 1

我只需要sql的條件。 即, leads.`status` = 1

我也有默認范圍。 從那以后我只需要那個范圍到 sql

您可以使用Arel::SelectManager#where_sql

>> Lead.where(status: 1).arel.where_sql
=> "WHERE \"leads\".\"status\" = $1"

以下應該工作:

Lead.where(status: 1).values[:where].ast.to_sql

我們在這里處於 ActiveRecord 的內部,所以當然不能保證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM