2016-04-15 15 views
-1

Ich wollte die Summe der Tabelle Spalte Daten "Betrag" abrufen und die Summe als Summe zurückgeben. Ich schätze Ihre HilfeWie Play Controller-Fehler zu beheben: inkompatible Typen: Lange kann nicht in List konvertiert werden <General_store>

models

Controllers method

Template Code:

@(tasks: List[General_store], taskForm: Form[General_store]) 
@main("current balance") { 


<div class="col-md-5 col-md-offset-3 client-margin"> 
    <div class="panel panel-success"> 
     <div class="panel-heading"> 
      current Balance 
     </div> 
     <div class="panel-body"> <br/><br/><br/> 
      @for(storedb <- tasks) { 



       <p> 
        <b >Balance:</b>@storedb.amount 
       </p> 


      } 

     </div> 

    </div> 
</div> 
} 
+0

Ich habe die Bilder eingebettet, so dass man nicht hyperli folgen muss um alle Informationen zu bekommen. Der Code sollte jedoch als Text und nicht als Bilder hinzugefügt werden. Außerdem sollten Sie genau beschreiben, was der Code tun soll und was er tatsächlich tut. – aschipfl

+0

Nun, ich möchte, dass der Code auf Ansichten die Summe der mysql-Tabellenspalte – user3518835

+0

drucken. Schicken Sie die Vorlage "balance.scala.html". Ich denke deine Parameter sind falsch – Anton

Antwort

0

Das Problem mit den Parametern der Vorlage ist. Sie haben zwei Parameter angegeben - eine Liste von Geschäften und ein Formular

@(tasks: List[General_store], taskForm: Form[General_store])

Aber von dem Controller bieten Sie tatsächlich eine lange (General_store.sumOfStores()) und eine Form (taskData). Sie sehen, dass die Anzahl der Parameter übereinstimmt, aber nicht die Art des Parameters


Die Lösung: Sie Ihren Controller-Code von ändern müssen:

return ok(views.html.balance.render(General_store.sumOfStores(), taskData)

zu:

return ok(views.html.balance.render(General_store.sumOfStores(), General_store.all(), taskData)

und Ihre Vorlage Parameterdefinition von

@(tasks: List[General_store], taskForm: Form[General_store])

zu:

@(totalSum: Long, tasks: List[General_store], taskForm: Form[General_store])

Wenn Sie dann auf der Seite können Sie die Summe anzuzeigen, diese Linie zu der Vorlage hinzufügen (zum Beispiel nach <div class="panel-body">:

<h2>Total sum is: @totalSum</h2>

+0

Danke der Fehler ist nicht mehr da, aber das Ergebnis gibt mir die Liste wie immer, aber keine Summe – user3518835

+0

vielen Dank, es funktioniert jetzt sehr gut. – user3518835

+0

Freut mich, ti zu hören! Bitte überlegen Sie, die Antwort zu akzeptieren, wenn es Ihnen geholfen hat - wie bei Ihrer vorherigen Frage. Dies ist das soziale Protokoll hier bei StackOverflow und Sie werden nicht viel Hilfe von Leuten bekommen, wenn Sie ihnen keine Wertschätzung zeigen :) – Anton