¿Cómo iniciar un proyecto con Laravel y Tailwind CSS?
Iniciar un proyecto implica entender las herramientas y configuraciones necesarias para asegurar un desarrollo eficiente. En este caso, se utilizarán Laravel 8 y Tailwind CSS. A lo largo de esta clase, aprenderás a realizar la configuración inicial, crear modelos y migraciones, y a manejar bases de datos de forma efectiva.
¿Cuáles son los comandos iniciales para instalar Laravel?
El primer paso para comenzar con un proyecto en Laravel es instalar la RAV 8. Estos son los comandos fundamentales:
Instalación de Laravel: Para crear un nuevo proyecto, utiliza el comando laravel new project_name, reemplazando project_name con el nombre real de tu proyecto.
Creación de modelos: A través de php artisan make:model ModelName, puedes crear un modelo. Agrega -m para generar una migración y -f para un factory, es decir, php artisan make:model NombreModelo -mf.
¿Qué son las migraciones y factories en Laravel?
Las migraciones y los factories son componentes esenciales en Laravel para el manejo de bases de datos:
Migración: Define la estructura de una tabla en la base de datos. Facilita la creación, actualización y eliminación de tablas a través de comandos.
Factory: Se utiliza para generar datos ficticios, facilitando el testeo y desarrollo de la aplicación sin necesidad de ingresar información real.
¿Cómo ejecutar comandos de Laravel en Visual Studio Code?
Visual Studio Code (VS Code) es el editor de código recomendado por su versatilidad. Puedes abrir un terminal directamente en VS Code para ejecutar comandos de Laravel:
Abre VS Code y navega a terminal > nuevo terminal.
Dirígete a la carpeta raíz de tu proyecto.
Ejecuta comandos como laravel new project_name para crear un nuevo proyecto o composer install si necesitas completar instalación de dependencias.
¿Cómo crear y configurar tablas en Laravel?
A continuación, se describen los pasos para definir y configurar la estructura de tablas en un proyecto Laravel:
Modelo Categoría:
publicfunctionup(){Schema::create('categories',function(Blueprint$table){$table->id();$table->string('name');// Nombre de la categoría$table->timestamps();});}
Modelo Curso: Debe incluir relaciones como el usuario que creó el curso y a qué categoría pertenece.
publicfunctionup(){Schema::create('courses',function(Blueprint$table){$table->id();$table->foreignId('user_id')->constrained()->onDelete('cascade');// Relación con users$table->foreignId('category_id')->constrained()->onDelete('cascade');// Relación con categories$table->string('name');$table->string('slug');$table->text('image');$table->text('description');$table->timestamps();});}
Modelo Post o Lección: Relaciona cada post con un curso e indica si es gratuito.
publicfunctionup(){Schema::create('posts',function(Blueprint$table){$table->id();$table->foreignId('course_id')->constrained()->onDelete('cascade');// Relación con courses$table->string('name');$table->boolean('free')->default(0);// Campo que define si es gratuito$table->timestamps();});}
Recomendaciones y pasos siguientes
Siguiendo estos pasos crearás una sólida base de datos para tu aplicación en Laravel. Te recomendamos ejecutar cada comando y configurar los modelos y migraciones como se describe para asegurar una estructura eficaz. Recuerda involucrarte activamente en cada paso, la práctica es clave para dominar Laravel y Tailwind CSS. ¡Sigue aprendiendo y no te detengas!
Muchas gracias por el aporte, de esta forma ayudas a ahorrar tiempo y evitar errores. Gracias.
Buen aporte ya que olvidaron mencionar que primero debemos tener Laravel instalado en el equipo antes de que los comandos de la terminal funcionen.
Recuerden que para poder usar el comando laravel new necesitan tener el CLI de Laravel instalado en sus computadoras, la página oficial de Laravel tiene toda la documentación necesaria para instalarlo:
.
https://laravel.com/docs/8.x/installation
.
Sin embargo, aquí les explico la instalación en Linux y WSL:
.
Para este punto ya deben tener composer instalado, así que simplemente ejecutan el siguiente comando:
.
composer global require laravel/installer
Esto instalará Laravel de manera global, por último deben modificar la variable $PATH para incluir a composer:
.
PATH="$PATH:$HOME/.config/composer/vendor/bin"
Puedes indicarme como modificas el path?
Justo a como lo puse en el aporte jaja, aunque eso es para Linux 🤔
Con Laravel 8 tenemos una nueva forma para declarar las foreign keys en nuestras migraciones, en lugar de usar unsignedBigInteger y luego registrar la foreign key, podemos hacerlo todo en una sola línea con:
No es necesario pasar la tabla como parámetro al método constrained() si los nombres de nuestras tablas siguen las convenciones de Laravel, pero para estar seguros y evitar errores podemos colocarlo.
Configuración inicial
Don´t repeat yourseft!
Para poder utilizar el comando Laravel new tienes que tener instalado el CLI de Laravel en la computadora. Si este no es tu caso, y instalas todo por la consola de Linux o WSL, utilizas la instalación estándar con Composer.
Listo, tendremos un usuario dentro de laravel para probar
Super aporte 🦾
Vengo del futuro y en el siguiente vídeo se siguen haciendo cosas a nivel de estructura de datos con los factories.
Les recomiendo, si son muy nuevos, ejecutar las migraciones que se hicieron en este vídeo de una vez, para que no sigan avanzando sin saber si tienen errores y puedan corregirlos antes de seguir escribiendo código:
Solo basta con escribir eso y laravel ya sabe a que tabla nos referimos. :)
Por primera vez nada me dio error y todo salio correcto
Para quienes usan docker.
docker run --rm \
-v $(pwd):/opt \
-w /opt \
laravelsail/php80-composer:latest \
bash -c "laravel new aweb-constructora --jet --stack=livewire"
excelente clase
¿Se necesita tener algún servidor local como XAMPP?
No, puedes usar el servidor que trae Laravel.
Solo ejecuta el comando php artisan serve
Un saludo.
Mejor SI usar Xampp o Wamp o instalaciones individuales de Mysql. Porque usar solo el > php artisan serve
sirve para el server local, pero, no gestiona la base de datos.
Espero sirva.
Muy buen aporte gracias
Estoy presentando el siguiente error cuando ejecuto las migraciones y no doy con la causa, ya revise los videos mas de 10 veces y no doy
SQLSTATE[42000]:Syntax error or access violation:1064You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'null' at line 1(SQL: create table `migrations`(`id` int unsigned not null auto_increment primary key,`migration`varchar(255) not null,`batch` int not null)default character set utf8mb4 collate 'utf8mb4_unicode_ci' engine =null) at C:\mis-programas\vivirmiestilo\vendor\laravel\framework\src\Illuminate\Database\Connection.php:703699▕ // If an exception occurs when attempting to run a query, we'll format the error700▕ // message to include the bindings with SQL, which will make this exception a701▕ // lot more helpful to the developer instead of just the database's errors.702▕ catch(Exception $e){ ➜ 703▕ thrownewQueryException(704▕ $query, $this->prepareBindings($bindings), $e
705▕ );706▕ }707▕ }1C:\mis-programas\vivirmiestilo\vendor\laravel\framework\src\Illuminate\Database\Connection.php:486PDOException::("SQLSTATE[42000]:Syntax error or access violation:1064You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near 'null' at line 1")2C:\mis-programas\vivirmiestilo\vendor\laravel\framework\src\Illuminate\Database\Connection.php:486PDO::prepare("create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci' engine = null")PSC:\mis-programas\vivirmiestilo>
si existe la base de datos ?
Por que no revisas la conexión
Estoy utilizando laravel 10 php 8.5 pero me arroja muchos errores de dependencias
Cuando ejecuto "laravel new project-8 --jet", no me da la opcion para escojer livewire o inertia, se pasa directo a la instalación del proyecto, porque ???
¿Podrías poner una captura de tu terminal después de ejecutar ese comando? ¿Qué versión del instalador de Laravel tienes? Puedes verlo ejecutando: laravel --version
seguramente tienes otra versión de laravel installer, intenta actualizarla a la más reciente
Hola buen día comunidad. Alguien ha tenido probelmas al instalar el componente jetstream como indica el profe Italo.
_> laravel new j-livewire-8 --jet
A lo cual obtengo: laravel: > command not found
Antes habia instalado: