Crear nuevo post
Comprar curso

132. Crear nuevo post

En este capítulo, descubre cómo crear una vista create en Laravel 10. Aprende cómo utilizar el generador de scaffolding de Laravel para crear una vista create y cómo personalizar la vista para tus necesidades.


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    En Laravel 10, puedes utilizar el comando make:controller para generar un controlador con los métodos necesarios para manejar la lógica de una vista create. Luego, puedes utilizar el generador de scaffolding de Laravel para generar la vista create con los campos necesarios.

    Para crear un controlador con el método para la vista create, ejecuta el siguiente comando en tu terminal:

    php artisan make:controller PostController --resource --model=Post

    Este comando generará un controlador PostController con los métodos necesarios para manejar las operaciones CRUD de un recurso de tipo Post.

    Ahora que tienes el controlador, puedes utilizar el comando make:view para generar la vista create correspondiente. Ejecuta el siguiente comando en tu terminal:

    php artisan make:view create --model=Post

    Este comando generará la vista create.blade.php dentro del directorio resources/views/posts.

    En la vista create.blade.php, puedes utilizar HTML y Blade para crear el formulario de creación de un nuevo post. Por ejemplo, puedes utilizar el siguiente código para crear un formulario que permita al usuario ingresar el título y el contenido del post:

    @extends('layouts.app')
    @section('content')
       <div class="container">
           <div class="row">
               <div class="col-md-8">
                   <div class="card">
                       <div class="card-header">{{ __('Create Post') }}</div>
                       <div class="card-body">
                           <form method="POST" action="{{ route('posts.store') }}">
                               @csrf
                               <div class="form-group">
                                   <label for="title">{{ __('Title') }}</label>
                                   <input id="title" type="text" class="form-control @error('title') is-invalid @enderror" name="title" value="{{ old('title') }}" required autocomplete="title" autofocus>
                                   @error('title')
                                       <span class="invalid-feedback" role="alert">
                                           <strong>{{ $message }}</strong>
                                       </span>
                                   @enderror
                               </div>
                               <div class="form-group">
                                   <label for="content">{{ __('Content') }}</label>
                                   <textarea id="content" class="form-control @error('content') is-invalid @enderror" name="content" required autocomplete="content">{{ old('content') }}</textarea>
                                   @error('content')
                                       <span class="invalid-feedback" role="alert">
                                           <strong>{{ $message }}</strong>
                                       </span>
                                   @enderror
                               </div>
                               <div class="form-group mb-0">
                                   <button type="submit" class="btn btn-primary">
                                       {{ __('Create') }}
                                   </button>
                               </div>
                           </form>
                       </div>
                   </div>
               </div>
           </div>
       </div>
    @endsection

    Este código utiliza Bootstrap para crear un formulario de creación de un post que solicita el título y el contenido del post. También utiliza Blade para mostrar errores de validación si el usuario proporciona datos inválidos.

    Recuerda que para que este formulario funcione correctamente, debes definir la ruta posts.store en tu archivo web.php.

  • Juan Avelino Martins

    Juan Avelino Martins hace 1 año

    Buenas Victor: Consulta, como puedo hacer para que VC me traiga la ayuda de los componentes de jetstream, como te salen en el video.?

    • Victor Arana Flores hace 1 año

      Hola Juan, mira el capitulo 11

    • Juan Avelino Martins hace 1 año

      Tengo todo instalado como lo indicas en ese capitulo. Que sugieres que haga para que funciona como lo tienes en los videos.?