2016-08-29 4 views
1

Ich führe eine 'Where' Abfrage, die auf einer Tabelle MyTable in meiner Rails-Anwendung ausgeführt wird. Ich möchte die Ergebnisse einer bestimmten Spalte aus dieser Abfrage (ActiveRecord :: Relation) zu Java Array of String-Typ konvertieren.Konvertieren eines ActiveRecord: Relation zu Java-Array

Das ist, was ich tue:

employeesJavaArray=MyTable.where("salary = ?",100).pluck(:columnName).to_java(java.lang.String) 

Jedoch habe ich diesen Fehler in meinen Logs erhalte: -

TypeError (could not coerce Fixnum to class java.lang.String): 

Können Sie mir bitte helfen Sie heraus, was mit der Aussage falsch sein könnte, dass Ich habe geschrieben.

+0

Welchen Datentyp ist die Spalte 'Rückkehr columnName'? – spickermann

+0

Ich führe die gleiche Art von Abfrage für mehrere Tabellen aus, von denen eine int zurückgibt und andere eine Zeichenfolge zurückgeben. – user3166642

+0

Ich habe versucht, zuerst die ganzen Zahlen in Zeichenfolgen zu konvertieren? – spickermann

Antwort

1

Ich würde sicherstellen, dass die Array-Zeichenfolge enthält nur (durch to_s Aufruf) zuerst:

employeesJavaArray = MyTable.where("salary = ?",100) 
          .pluck(:columnName) 
          .map(&:to_s) 
          .to_java(java.lang.String) 
Verwandte Themen