El usuario carga múltiples imágenes y se almacena en forma de matriz. ¿Cómo mostrar esas imágenes en el archivo Blade Laravel?
Cuando lo intenté, recibí este error.

htmlspecialchars() expects parameter 1 to be string, array given (View: C:\Users\user\laravel2\newfyp\resources\views\postqs\show.blade.php)

mostrar hoja:

   <img src="/image/{{ $postqs['image'] }}" 
    style="width:150px; height:150px;"> </td>

modelo:

  protected $casts = [
    'image'=>'array', ];

 protected $fillable = ['image'];

crear cuchilla

                <div class="form-group">
                    <label class="control-label col-sm-2" >image test:
             </label>
                    <form action="upload" id="upload" enctype="multipart/form-data">
                    <input type="file" name="image[]" id="image" multiple><br />

                </form>
                <div id="message"></div>
1
kavi 19 ene. 2018 a las 11:28

3 respuestas

La mejor respuesta

Tratar:

@foreach($postqs['image'] as $imagePath)
    <img src="/image/{{ $imagePath }}" 
        style="width:150px; height:150px;"> 
@endforeach
</td>
1
ramin ashrafimanesh 19 ene. 2018 a las 08:58

En primer lugar, debe corregir esta línea:

protected $fillable = [''image']; // ['image'] and not [''image']

htmlspecialchars(): Siempre recibo este error cuando la variable es nula.

Una solución simple sería envolver su html con:

@if($yourVar)
@endif

También puede volcar su variable para mostrar cómo es la estructura.

Buena suerte.

0
Lotus91 19 ene. 2018 a las 09:52
protected $fillable = [''image'];

¿Es eso un error tipográfico con la comilla doble?

Si las imágenes están en una matriz, simplemente repita sobre la matriz y cree una imagen para cada una.

¿Has probado algo como lo siguiente en tu archivo de vista:

@foreach ($postqs['image'] as $image)
    <img src="asset({{ $image }})" />
@endforeach
0
19 ene. 2018 a las 08:57
48336886