Comunidad de diseño web y desarrollo en internet online

Checkbox Array Laravel

Citar            
MensajeEscrito el 12 Dic 2016 08:08 pm
Buenas tarde, tengo un problema tengo poco tiempo con laravel y quería ver como guardar un un Checkbox en mi DB lo ultimo que intente es convertirlo en una cadena de texto pero no me dio resultado, algún consejo de como resolverlo, de antemano se los agradezco.

view.php

Código :

<form role="form" method="POST" name="forminformation" action="{{ url('/community') }}">
{{ csrf_field() }}
  <input class="with-gap" name="community_fortaleza" type="checkbox" id="test1" value="opcion1"/>
  <label for="test1">opcion1</label>
  <input class="with-gap" name="community_fortaleza" type="checkbox" id="test2" value="opcion2"/>
  <label for="test2">opcion2</label>
  <input class="with-gap" name="community_fortaleza" type="checkbox" id="test3" value=opcion3"/>
  <label for="test3">opcion3</label>

<textarea id="textarea1" name="community_fortalezaotro" class="materialize-textarea" length="500"></textarea><label for="textarea1">Otro (especifique)</label>
<button class="btn waves-effect waves-light" onclick="pregunta()" name="action">Guardar</button>         
</form>


route.php

Código :

Route::post('/community','CommunityController@store', function () {
      return view('community');      
   });


modelo.php

Código :

class Community extends Model
{
    /**
    * 
    * 
    * @var array create migration variable.
    */
    protected $fillable = [
                $community_fortaleza= implode(";", $community_fortaleza);
      'community_fortaleza',
      'community_fortalezaotro',
    ];

}


controller.php

Código :

    public function store(Request $request)
    {
        //
        $this->validate($request, [
         'community_fortaleza' => 'required',
         'community_fortalezaotro' => 'nullable|max:500',
        ]);
      
      $Community = new Community();

      $Community->community_fortaleza = $request->community_fortaleza;
      $Community->community_fortalezaotro = $request->community_fortalezaotro;
      $Community->save();
      return view('home');
    }


Este seria mi código, de nuevo muchas gracias y que tengan un excelente día.

Por Daniello

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Dic 2016 08:35 pm
En principio recibes una cadena como

opcion1opcion2opcion3

Si seleccionas los tres, eso es un string, no un array, con lo cual el implode no puede separar las opciones. Luego si el modelo persiste en una base de datos, mira que todas las columnas necesarias esten incluidas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Dic 2016 10:41 pm
Primero, en la vista si quieres un grupo de checks debes de pasar el nombre de grupo como si fuera un array:

Código :

<input class="with-gap" name="community_fortaleza[]" type="checkbox" id="test3" value=opcion3"/>



En el modelo, en fillable indicas que campos puedes llenar de la tabla

Código :

protected $fillable = [
      'community_fortaleza',
      'community_fortalezaotro'
    ];


Para el validador prueba con esto a ver si es lo que necesitas:

Código :

'community_fortaleza.*' => 'required',

**Le dice que todos los campos que pertenecen a un grupo son necesarios.

Después de la validación te recomiendo imprimir el request para que veas que te te esta mandando el formulario

Código :

dd($request->all());

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.