Laravel - Sortieren einiger Datensätze innerhalb einer ListGroup

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Hallo zusammen,

ich versuche mich gerade in Laravel einzuarbeiten und hänge bei einem kleinen Problem.
Vielleicht könnt ihr mir Ansätze geben, mit denen ich das Problem mglw. lösen kann?

Ich habe eine ListGroup und darin sind weitere Datensätze als Link. die sich ebenfalls an-
klicken ließen - es würde sich dann ein Modal öffnen (diesen Code habe ich aber entfernt).
Diese weiteren Datensätze möchte ich gerne per Drag&Drop umsortieren und dann das
entsprechende Tag der Position in der Datenbank speichern - wie mache ich das?

Anbei mal der Code des Blades zur Ansicht der ListGroup:

HTML:
<div class="list-group">
    <button type="button" class="list-group-item list-group-item-action active">
        {{ date("m.Y", strtotime($datumStart)) }}
    </button>
    @foreach ($buchungen as $x)
        <a href="#" data-toggle="modal" data-target="#exampleModal{{ $x->id }}"
            class="list-group-item d-flex justify-content-between align-items-center" style="text-align:left; border-style: none;">
            <div>
                <img src="https://cdn1.iconfinder.com/data/icons/business-finance-vol-9-4/512/19-512.png"
                        alt="FinanceIcon"
                        width="40px;">
                <h5 style="min-width:100px; padding-left:20px; font-size:95%; float:right;">{{ $x->bezeichnung }}</h5>
                <p style="text-align:left; margin: -22px 0 -5px 60px;">{{ date('d. M', strtotime($x->datum)) }}</p>
            </div>

            <span class="badge badge-success badge-pill">{{ number_format($x->betrag,2) }} €</span>
        </a>
    @endforeach
</div>

Bitte nicht falsch verstehen, ich möchte keinen fertigen Code von euch -
ich würde mich aber über ein paar Ansätze freuen, wie ich als Anfänger
in diesem Bereich am besten vorgehen kann. VG
 
Ich kenne mich da jetzt ja nicht so gut aus, aber warum willst die Position in der Datenbank speichern? Was machst du, wenn neue Datensätze in die Tabelle eingefügt werden? Diese haben dann ja keine Position. Das einzige, was in meinen Augen Sinn machen würde, wäre es, die Parameter nach denen sortiert wird abzuspeichern.
 
Du möchtest also, anhand des d&d Ergebnisses, die Daten in der Datenbank ändern? Sofern ich das korrekt verstanden habe, ist das mit reinem Laravel, Bootstrap und HTML meines Wissens nach nicht realisierbar. Dafür müsstest du Javascript einbauen, welches dir z. B. ein Object aus Arrays erstellt (oder ein mehrdimensionales array), und jedes Array mit entsprechenden Daten versehen. Diesen einen Wert lässt du dann beim d&d ändern.

Am schnellsten mit geringsten Aufwand sollte das mit HTML5 und Javascript umsetzbar sein: https://www.w3schools.com/html/html5_draganddrop.asp

Wenn du dir sowieso vorstellen kannst in Zukunft die Seite interaktiver und dynamischer zu gestalten, könnte es sich rentieren dir zeitgleich zur Laravel Entwicklung noch Vuejs anzusehen und beides parallel zu lernen. Vuejs ist ein leicht verständliches Javascript framework, welches eine krasse steile Lernkurve hat. Dann kannst du das Problem auch mit vuejs und passenden packages oder vuejs und HTML5 lösen.
 
Zurück
Oben