i'm trying to attach multiple files to a form and then send those files to an email address, i've successfully managed to create the form and make it attach the files, the problem i'm having is that i'm only getting one file on my email address, which is the last file i uploaded, and i don't know what i'm doing wrong, i'll leave you guys the code below.
<?php namespace CustomDesign\Damasdelite\Components;
use Cms\Classes\ComponentBase;
use CustomDesign\Damasdelite\Models\Cliente;
use CustomDesign\Damasdelite\Models\Categoria;
use Input;
use Mail;
class DamasForm extends ComponentBase{
public function componentDetails(){
return [
'name' => 'Formulario de Damas',
'description' => 'Agregar Damas'
];
}
public function onSave(){
$cliente = new Cliente();
$cliente->nombre = Input::get('nombre');
$cliente->slug = strtolower(Input::get('nombre'));
$cliente->poster = Input::file('poster');
$cliente->galeria = Input::file('galeria');
$cliente->correo = Input::get('correo');
$cliente->monto = Input::get('monto');
$cliente->celular = Input::get('celular');
$cliente->edad = Input::get('edad');
$cliente->categoria = Input::get('categoria');
$cliente->estado = Input::get('estado');
$cliente->ciudad = Input::get('ciudad');
$cliente->piel = Input::get('piel');
$cliente->cabello = Input::get('cabello');
$cliente->ojos = Input::get('ojos');
$cliente->peso = Input::get('peso');
$cliente->altura = Input::get('altura');
$cliente->tipo_cuerpo = Input::get('tipo_cuerpo');
$cliente->vip = Input::get('vip');
$cliente->depilada = Input::get('depilada');
$cliente->medidas = Input::get('medidas');
$cliente->fuma = Input::get('fuma');
$cliente->horario = Input::get('horario');
$cliente->promocion = Input::get('promocion');
$cliente->locacion = Input::get('locacion');
$cliente->servicios = Input::get('servicios');
$cliente->descripcion = Input::get('descripcion');
$cliente->plan = Input::get('plan');
$cliente->save();
$vars = [
'nombre' => Input::get('nombre'),
'slug' => strtolower(Input::get('nombre')),
'poster' => Input::file('poster'),
'galeria' => Input::file('galeria'),
'correo' => Input::get('correo'),
'monto' => Input::get('monto'),
'celular' => Input::get('celular'),
'edad' => Input::get('edad'),
'categoria' => Input::get('categoria'),
'estado' => Input::get('estado'),
'ciudad' => Input::get('ciudad'),
'piel' => Input::get('piel'),
'cabello' => Input::get('cabello'),
'ojos' => Input::get('ojos'),
'peso' => Input::get('peso'),
'altura' => Input::get('altura'),
'tipo_cuerpo' => Input::get('tipo_cuerpo'),
'vip' => Input::get('vip'),
'depilada' => Input::get('depilada'),
'medidas' => Input::get('medidas'),
'fuma' => Input::get('fuma'),
'horario' => Input::get('horario'),
'promocion' => Input::get('promocion'),
'locacion' => Input::get('locacion'),
'servicios' => Input::get('servicios'),
'descripcion' => Input::get('descripcion'),
'plan' => Input::get('plan')
];
$attachments = [];
foreach($cliente->galeria as $image) {
$attachments[] = $image;
}
Mail::send('customdesign.damasdelite::mail.damasmessage', $vars, function($message) use ($attachments) {
foreach($attachments as $attachment) {
$params = ['as' => $attachment->getFilename()/*, 'mime' => $mime*/];
$message->attach($attachment->getLocalPath(), $params);
}
$message->to('info@customdesign.com.ve', 'Damas de Elite');
$message->subject('Nuevo Contacto');
});
}
}
thanks a lot for the help.
Here's the html of the form, i took all the options to make it shorter and easier to read
<form method="POST" class="formulario" action="{{ url('anunciate') }}" role="form" accept-charset="UTF-8" enctype="multipart/form-data" class="formularios">
<input type="hidden" name="_handler" value="onSave">
{{ form_token() }}
{{ form_sessionKey() }}
<div class="columnas">
<div class="c12 t4 d4 input-grupo">
<label class="label" >Main Image</label>
<input type="file" name="poster">
</div>
<div class="c12 t4 d4 input-grupo">
<label class="label" >Gallery</label>
<input type="file" name="galeria" multiple>
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="nombre" placeholder="Tu Nombre">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="monto" placeholder="Cuanto Cobras">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="email" name="correo" placeholder="Tu E-mail">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="celular" placeholder="Tu Celular">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="edad" placeholder="Tu Edad">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="peso" placeholder="Cuanto Pesas">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="altura" placeholder="Cuanto Mides">
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="medidas" placeholder="Cuales son tus Medidas">
</div>
<div class="c12 t3 d3 input-grupo bajar">
<input type="text" name="horario" placeholder="Cual es tu Horario de Trabajo" >
</div>
<div class="c12 t3 d3 input-grupo">
<select name="plan" id="plan">
// options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="categoria">
// options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<input type="text" name="ciudad" placeholder="En que ciudades trabajas?">
</div>
<div class="c12 t3 d3 input-grupo">
<select name="estado">
// options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="piel">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="cabello">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="ojos">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="tipo_cuerpo">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="depilada">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="fuma">
//options
</select>
</div>
<div class="c12 t3 d3 input-grupo">
<select name="vip">
//options
</select>
</div>
<div class="c12 t12 d12">Escoge los sitios donde atiendes y todos los servicios que ofreces</div>
<div class="c12 t3 d3">
<input type="checkbox" name="locacion[]" value="Hoteles"> Hoteles<br />
// one option as an example
</div>
<div class="c12 t3 d3">
//input type checkbox
</div>
<div class="c12 t3 d3">
//input type checkbox
</div>
<div class="c12 t12 d12 ">
<label class="label">Tienes alguna promoción?</label>
<textarea class= "editor redondo-0 sombra-1" name="promocion" cols="25" rows="10"></textarea>
</div>
<div class="c12 t12 d12 ">
<label class="label">Descripción</label>
<textarea class= "editor redondo-0 sombra-1" name="descripcion" cols="25" rows="10"></textarea>
</div>
<div class="c2 t1 d1 input-grupo checkbox">
<button type="submit" class="btn">Guardar</button>
</div>
</div>
</form>