0

クエリによって返された結果の数をカウントする必要があります。返された結果の数をカウントする count メソッドがあることは知っていますが、機能していません。これが私のクエリです:

@oi_report = IncidentDetailsReport.find_by_case_id(id).count

そして、私はこの例外を受けています:

undefined method `count' for #<IncidentDetailsReport:0x745def8>
4

3 に答える 3

2

次のクエリを使用する必要があります

@oi_report = IncidentDetailsReport.where('case_id=?',id).count

この場合、「find_by_case_id」を使用しないでください

これで問題が解決します

于 2013-01-12T09:05:05.107 に答える
2

メソッドを持たないIncidentDetailsReport.find_by_case_id(id)タイプのオブジェクトを返すようです。これは、クエリに追加するときにリレーションではなくオブジェクトを返すために発生します。IncidentDetailsReportcountfind_by_case_idLIMIT 1

代わりに、次のようにfind_by_*使用できますwhere

IncidentDetailsReport.where(:case_id => id).count

于 2013-01-12T09:07:17.817 に答える
2

ドキュメントによると、カウントを介して条件を渡すことができます。だからこれをやってみてください:

IncidentDetailsReport.count(:conditions => "id = "+id)

または他に使用できますlengthか?

于 2013-01-12T09:07:31.727 に答える