2011-06-07 37 views
4

我想查詢一個或者到行爲-AS-加標籤上的查詢,像這樣......acts-as-taggable-on tagged_with or_where?

Business.tagged_with(params[:query], :any => true) 

但我也想在同一時間進行這樣的or_where ...

Business.tagged_with(params[:query], :any => true).or_where('name LIKE ?', "%#{params[:query]}%") 

這顯然是行不通的,因爲沒有or_where的方法,但會有人知道如何正確地執行此?

總之,我試圖找到任何標籤或商業名稱的匹配。謝謝。

回答

3

您可以通過使用|運營商像這樣:

Business.tagged_with(params[:query], :any => true) | Business.where('name LIKE ?', "%#{params[:query]}%") 

注意,這將渴望負荷的結果,所以你不能在這之後應用其他條件,樣訂貨。它將返回一個包含所有匹配結果的數組,不包括重複項。

+0

嘿,抱歉,延遲,是的,這很好。謝謝。 – 2011-06-28 16:34:27

+0

如果您有分頁功能,這將不起作用,因爲它會忽略這一點。 – 2015-08-24 11:16:39

相關問題