Ir al contenido principal

Destacados

Ubuntu 25.04 instalación y configuración inicial

 Probamos Ubuntu 25.04 - Muy rápido y confiable !!

Crud de imagenes en laravel 8 con foto de producto y galería

 



Vamos a crear una api que permita ingresar unas Publicaciones con un titulo "más lo que desee agregar y una imagen de presentación y ademas con galería de imágenes, para luego usarla con Angualar y con ReactJS para crear un sitio de vienes raíces, "venta de propiedades" o cualquier otro proyecto de características similares.

Para esto crearemos dos tablas Posts y Imagens que estarán relacionadas de uno a muchos 


1: Arrancamos con un proyecto en blanco

composer create-project laravel/laravel example-app

php artisan make:model Post -m

Agrego los campos a la migracion


$table->string('titulo');

$table->text('cover');


en el modelo poner $fillable =['titulo, 'foto-portada' ];


2- php artisan make:model Imagen -m

en la migracion

$table->string('imagen');

$table->foreignId('post_id')->constraint('posts')->onDelete('cascade');



3- En el modelo Post

<?php

namespace App\Models;

use App\Models\Imagen;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Post extends Model
{
use HasFactory;
protected $fillable = ['titulo','cover'];
//uno a muchos
public function imagens(){
return $this->hasMany(Imagen::class);
}

}


-----------------------

4- En el modelo Imagen

<?php

namespace App\Models;

use App\Models\Post;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Imagen extends Model
{
use HasFactory;

protected $fillable = ['imagen','post_id'];
//de muchos a uno
public function posts(){
return $this->belongsTo(Post::class);
}
}

 



5 - En el controlador app/Http/Controllers/API/PostController.php

public function store(Request $request)
{
//return $request;
if($request->hasFile("cover")){
$file=$request->file("cover");
$imageName=time().'_'.$file->getClientOriginalName();
$file->move(\public_path("cover/"),$imageName);

$post =new Post([
"titulo" =>$request->titulo,
//"autor" =>$request->autor,
// "post" =>$request->post,
"cover" =>$imageName,
]);
$post->save();
}

if($request->hasFile("images")){
$files=$request->file("images");
foreach($files as $file){
$imageName=time().'_'.$file->getClientOriginalName();
$request['post_id']=$post->id;
$request['imagen']=$imageName;
$file->move(\public_path("/imagenes"),$imageName);
Imagen::create($request->all());

}
}

return response()->json([
'data' => $request,
'mensaje' => 'Registro Guardado!!'
]);
}


6- Rutas

Route::get('/ver',[App\Http\Controllers\API\PostController::class,'index']);
Route::post('/ver',[App\Http\Controllers\API\PostController::class,'store']);

En al video de youtube veras los otros métodos como show, update, destroy o delete

También tendrás el código fuente en la descripción del mismo video

Saludos y gracias por estar!!!!!

Comentarios

Entradas populares de este blog

Reseteo de canon ip 1800 y 1900

Veremos en este vídeo las dos formas de resetear estas impresoras la segunda forma es definitiva. También aprendemos como resetear los cartuchos para que muestre el nivel de tinta después de las recargas. Descarga del programa utilizado en el video : bajar  

CloudFlare en vez de DuckDns

Vamos a dejar de usar Duckdns para usar un dominio propio que compramos Ademas ya sabemos que nuestra ip cambia y vamos a solucionarlo con una app usando docker compose Comenzamos con los pasos: 1- Comprar un dominio  2 - Registrarnos en CloudFlare justo ahi es de donde sacaremos las dns ej dn1.claudflare.com, dn2.claudflare.com 3- Copiaremos esas dns y las pegaremos en nuestro dominio para eso entramos a hostinger y editamos las dns que vienen por defecto y las cambiamos por estas,  esto da el control de todo a cloudflare a partir de ese momento trabajaremos solo en cloudflare. 4 - Vamos a nuestro menú Perfil en cloudFlare y creamos un token como muestra la imagen    5- En claudflare le damos clic al logo y nos vamos a la pagina de inicio y agregamos el nombre de nuestro dominio comprado ej compucenter33.com 6- Entramos haciendo clic en el dominio y nos vamos al menú a la izquierda que dice DNS ahí creamos un registro A  nos queda así  El primer registro A...

Carrito de compras en laravel

Bienvenido a la creación de un Shopping Cart rápido y simple!!! Crearemos entonces un carrito usando laravel de una manera muy rápida y fácil aquí encontraras todos los pasos correspondientes a el video: Deberías ya tener el entorno de trabajo pronto, para eso instalas xampp, visual studio code y git con eso listo, comencemos: Paso 1 - Creamos un proyecto nuevo: composer create-project --prefer-dist laravel/laravel blog "6.*" Paso 2 - Instalamos en componente shopping cart "nuestro carrito" composer require "darryldecode/cart" Paso 3 - Abrimos el archivo de nuestro proyecto config/app.php y en el array de nombre Aliases al final pega esto: 'Cart' => Darryldecode\Cart\Facades\CartFacade::class Paso 4 - Crea el Modelo Product y su archivo de migración php artisan make:model Product -m Paso 5 - Agrega los campos para nuestra migración products Schema::create('products', function (Blueprint $table) { ...