Laravel lama modelli, foreach variabile all’interno di URL: per?

Sto creando una lista di base visualizzazione di post, e hanno bisogno di un link per la modifica della pagina.

Sto usando la lama, e quello che ho è un tavolo, con un ciclo foreach, mostrando ogni post con tasti modifica/elimina.

Quello che volevo fare è usare la lama URL::per il link per la modifica e cancellare le pagine, per garantire omogeneità link.

Il codice ho provato ad utilizzare (ricordate che questa è all’interno di un ciclo foreach, quindi, il $post->id var) è questo:

<a href="{{ URL::to('admin/posts/edit/$post->id') }}" class="btn btn-mini btn-primary">Edit Post</a>

Tuttavia, questo non funziona. Ho anche provato

<a href="{{ URL::to('admin/posts/edit/<?php echo $post->id; ?>') }}" class="btn btn-mini btn-primary">Edit Post</a>

che, inoltre, non funziona.

Non ottengo alcun errore, il link letteralmente finisce per essere:

http://domain.dev/admin/posts/$post->id

C’è qualche modo per aggirare questo?

InformationsquelleAutor Sk446 | 2013-05-12



7 Replies
  1. 22

    Penso che il problema è che si sta utilizzando la variabile php ($post) all’interno di una stringa con un unico '. In questo caso emette solo il nome della variabile. Prova questo:

    <a href="{{ URL::to('admin/posts/edit/' . $post->id) }}" class="btn btn-mini btn-primary">Edit Post</a>

    Spero che questo aiuta.
    Vlad

  2. 13

    vlad ha già dato la risposta giusta alla tua domanda, ma essere consapevoli che si può anche collegare direttamente per l’azione del controllore via URL::action:

    <a href="{{ URL::action('Admin\[email protected]', $post->id) }}">Edit</a>
    • Grazie per questo. Questo ha aiutato a risolvere il mio problema per il quale ho pensato un link per l’azione sarebbe a conoscenza del set di variabili che corrispondono a variabili nel percorso. Non è così. Ho dovuto passare come secondo parametro.
  3. 1

    Il {{ }} sono pari a <?php echo ;?>

    se si mette singolo '

    <?php echo '$hello' ?> = $ciao

    ma se si mette il doppio ' (") -> <?php "$hello" ;?> = “Hello World” (solo un esempio)

    Avete bisogno di scrivere qualcosa come {{ URL::to("admin/posts/edit/$post->id") }}

  4. 0

    Avuto un problema con questo in Laravel 5 così pensato Id pop, anche se la questione è vecchia. Risolto il mio problema utilizzando

    {{ URL::to('/box').'/'.$box->id }}

    o

    {{ url('/box').'/'.$box->id }}

  5. 0

    Inoltre è possibile utilizzare route() helper per generare l’url, il nome del percorso. Per esempio, la definizione del percorso:

    Route::get('/test/mypage/{id}', '[email protected]')->name('my_route_name');

    Codice nel vostro punto di vista:

    <a href="{{ route('my_route_name', $row['id']) }}">{{ $row['name'] }}</a>

Lascia un commento