我不太確定如何說出這個,但我會給它一個鏡頭。Rails has_many複雜的查詢
基本上我有兩個模型:消息和事件。
消息belongs_to事件和事件has_many消息。
當我打電話是這樣的:
Event.first.messages
它產生這樣的輸出:
SELECT "messages".* FROM "messages" WHERE "messages"."event_id" = 1
我想做什麼就能做的是保持兩者之間的關聯,但另增加一列進入has_many方程,所以生成的SQL如下所示:
SELECT "messages".* FROM "messages" WHERE "messages"."event_id" = 1 OR "messages"."type_id" = 4
其中兩個e消息和事件表包含一個type_id列。
這可能嗎?
這創建一個AND子句,即q問題是關於一個OR。據我所知,OP希望看到所有直接由ID關聯的消息或者type_id = 4(並且在這種情況下忽略event_id) –
正確,如果有匹配的type_id,則忽略event_id。 – jay