[英]Is there a way to create an arel_table from a query?
我有兩個表(A 和 B)和一個相對復雜的 Active::Record::Relation,它從這兩個表的連接中選擇。 查詢使用ActiveRecord::Base.connection.exec_query joined.to_sql正確執行,也就是說,它從每個表中打印出我想要的列(A.id、A ...
[英]Is there a way to create an arel_table from a query?
我有兩個表(A 和 B)和一個相對復雜的 Active::Record::Relation,它從這兩個表的連接中選擇。 查詢使用ActiveRecord::Base.connection.exec_query joined.to_sql正確執行,也就是說,它從每個表中打印出我想要的列(A.id、A ...
[英]Rails query for a record with distinct set of associations
我正在嘗試查詢具有一組特定關聯的記錄。 這是一種通過連接進行的存在查詢。 我想查詢具有 skill_1、skill_2、skill_3 和 level_a、level_b、level_c 的用戶 這將為用戶提供他們擁有 IN 技能和 IN 級別技能的用戶,這將返回技能和級別集的各種組合,但我只希望用 ...
[英]db:migrate - unknown keyword: :klass - arel issue
我在將舊 Rails 應用程序升級到最新版本時遇到問題。 我對 Rails 的了解有限。 據我所知,我正在使用 rails 7 運行 ruby 3.1。 我環顧四周,發現這里提到了這個問題,但是我已經運行了我認為的最新版本? 我不是 100% 確定在這一點上我應該看哪里。 ...
[英]How to write `(SELECT @row_index:=-1) AS r` in Arel?
我需要將以下查詢轉換為 Arel,但我沒有看到任何文檔將 進入 Arel 查詢。 對於上下文,完整的查詢是這樣的。 不確定如何在 Arel 中為此查詢編寫 select 語句。 ...
[英]How to extract JSON element within an Arel query on Postgres (Rails 5.2.4)?
我定義了一個幫助程序,以 HTML 形式提供下拉 select 字段。 我有一個非常簡單的查詢,只是名稱字段的數據類型為 JSON。 它包含一個翻譯成多種語言的名稱: 使用 PostgreSQL,提取所需的翻譯是直截了當的。 這里的情況很簡單, >>運算符,在傳遞JSON鍵時,直接返回 ...
[英]Trying to speed up finding an index in active record query
我有一個頁面,我從check_ins或客戶訪問列表開始,然后我需要遍歷每次訪問 ( i ) 以查找該客戶的所有其他訪問以確定訪問鄰居 ( i - 1 )。 我還需要從那個來訪的鄰居那里獲取信息。 這需要很長時間,我認為可能有更快的方法來執行查詢。 假設我從訪問列表或check_ins : 有沒有更快 ...
[英]How to get active record relation of polymorphic parents from child object?
我有以下結構: 我想通過僅查詢Transaction表來獲取所有鏈接的交易(銷售和租賃)。 例如: 上面的查詢返回TransactionSale和TransactionRental對象的組合,這就是我想要實現的確切結果。 這里唯一的問題是它返回一個 ruby 數組而不是 ActiveRecord: ...
[英]Is 'Arel::Nodes::Quoted' the best way to avoid injection when using 'NamedFunctions'?
當我遇到以下問題時,我正在開發一個特定的過濾器:input_from_user = Arel::Nodes::Quoted.new(input_from_user.split('.').second) separator = Arel::Nodes::Quoted.new('.') Model. ...
[英]How to use Arel methods like `coalesce` outside Active Record?
我想在 Active Record 模型之外生成部分查詢,例如 我可以通過一些現有的 model 實現 go,但這很不雅: 有什么更好的方法? (這個項目目前在 Rails 6.1 上,但我也對新版本的解決方案感興趣。) ...
[英]Querying Min and Max in Rows Result Using Arel
您將如何查詢與給定條件匹配的所有水果,以及所有這些水果的最高價格: Fruits.with_max_price.where(date > '2022') 具有以下約束: 使用 Arel 在返回ActiveRelation的范圍內(用於鏈接) 水果 | id | name ...
[英]How to explicitly specify PARTITION in ActiveRecord SELECT query?
我有一個巨大的分區表,在執行 SELECT 查詢之前我提前知道分區名稱。 在普通 SQL 中,語法是SELECT * FROM objects PARTITION (p1) 我目前的解決方法似乎有效,但看起來有點老套:active_record_relation.to_sql.gsub('FROM ...
[英]How to join 2 queries in Arel, one being an aggregation of the other (Rails 5.2.4)?
我的應用程序監視從連續版本中的 BusinessProcesses 派生的 ProductionJobs。 因此ProductionJob 類的唯一鍵由business_process_id和version字段組成。 最初,ProductionJob 索引將使用 Arel 結構化查詢 (@prod ...
[英]Arel table query for where -> has_one through
我正在嘗試使用 arel 表查詢對 has_one 關系執行“where”查詢。 has_one 關系是必要的,因為它當前設置為“has_one_through”。 使用 arel 表查詢的原因是該查詢邏輯將是動態的。 有幾個 has_one 關系需要單獨查詢,所以我希望盡可能干燥和可擴展。 ...
[英]How to use the distinct method in Rails with Arel Table?
我希望在 Rails 中運行以下查詢(我使用 scuttle.io 站點將我的 SQL 轉換為對 rails 友好的語法): 這是原始查詢: 這是 scuttle.io 查詢: 現在,您可能會注意到,sctuttle.io 不包含我需要的 distinct 參數。 我怎么能在這里使用 di ...
[英]Arel: Dynamically generate conditions from array of values
我正在尋找為 Rails 應用程序中的查詢生成“或”條件,從我想嘗試與 Arel 中單個列中的值match的單詞數組。 我正在嘗試遵循一個非常相似的 SO 問題中的建議,並給出一個很好的答案。 但是那個問題中的 OP 沒有解釋value.to_condition方法,他將他的值轉化為條件。 基本上我 ...
[英]Arel UpdateManager with Join creates invalid SQL - how to rephrase?
顯然Arel core 中存在一個問題,其中Arel::UpdateManager在對連接執行列更新時不會為更新列生成表名。 它導致無效的 SQL。 我在 Rails 5.2 應用程序中遇到了這個問題,其中我有一個 SQL 文字更新語句,我試圖在 Arel 中重新表述。UPDATE observa ...
[英]AR/Arel - How can i compose a query to SELECT a conditional CONCAT of columns
我有一個 model 方法,它有條件地連接用戶的用戶名(“登錄”)和真實姓名,如果他們保存了真實姓名 - 否則它只顯示用戶名。 我想重寫 ActiveRecord 或 Arel 中的查詢。 看起來我應該使用Arel::Nodes::NamedFunction 。 但我不明白如何使用命名為 func ...
[英]Write an Arel inner join query without `find_by_sql`
在 Rails 5 項目中,我有一個關聯的查詢方法,該關聯當前使用 SQL 字符串,我正在嘗試將其重構為僅使用 Arel。 我想知道是否可以在不使用to_sql和find_by_sql的情況下編寫整個查詢方法。 該查詢是一個帶有連接表的 INNER_JOIN。 這是舊的 SQL 字符串方法:clas ...