preselect l'opzione di selezione usando php

Ho un module da compilare per creare un post . Ora dopo aver creato quel post, se voglio modificarlo, sto mostrando un'opzione di select nella pagina di modifica qualcosa come di seguito. (Sto usando Laravel)

 <select name="posts"> @foreach($posts as $post) <option value="{{$post->id}}"> {{$post->name }} </option> @endforeach </select> 

Ora ho bisogno di preselect il field di selezione popolato con il post name corrente. Ho un post id nell'URL che posso sapere in quale post sono. Come posso select l'opzione giusta senza fare un duplicato dello stesso nel field delle opzioni. ?

Usa una struttura if-else all'interno del ciclo.

 if ( post is equal to the current post ) { <option selected="selected" value="{{$post->id}}"> {{$post->name }} </option> } else { <option value="{{$post->id}}"> {{$post->name }} </option> } 

La condizione dipende da te, se vuoi utilizzare l'ID post o il nome del post da verificare. (Qualunque cosa tu abbia a disposizione).

Supponendo che tu passi l'id del post corrente nel model come $postId , potresti fare qualcosa del genere:

 <select name="posts"> @foreach($posts as $post) <option value="{{$post->id}}" {{ ($post->id == $postId) ? 'selected="selected"' : '' }}> {{$post->name }} </option> @endforeach </select> 

Inoltre, dal momento che stai usando Laravel, una soluzione un po 'più pulita è usare il constructor di moduli di Laravel:

 {{ Form::select('posts', $posts, $postId) }}