diff --git a/app/Producto.php b/app/Producto.php index 9b412c3..2a8406b 100644 --- a/app/Producto.php +++ b/app/Producto.php @@ -15,21 +15,15 @@ use Illuminate\Support\Facades\DB; class Producto extends Model { - public $timestamps = false; - protected $fillable = ["nombre", "precio", "presentacion", "stock", "categoria"]; + protected $fillable = ["nombre", "precio", "categoria"]; static int $paginarPorDefecto = 10; public function subpedidos(): BelongsToMany { - return $this->belongsToMany('App\Subpedido', 'productos_subpedidos')->withPivot(["cantidad", "notas"]); + return $this->belongsToMany(Subpedido::class, 'productos_subpedidos')->withPivot(["cantidad", "notas"]); } - public function proveedor(): BelongsTo - { - return $this->belongsTo('App\Proveedor'); - } - - //Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda) + // Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda) public function scopeFiltrar($query, FiltroDeProducto $filtros): Builder { return $filtros->aplicar($query); diff --git a/app/Proveedor.php b/app/Proveedor.php deleted file mode 100644 index 07dbc40..0000000 --- a/app/Proveedor.php +++ /dev/null @@ -1,18 +0,0 @@ -hasMany('App\Producto'); - } -} diff --git a/database/migrations/2025_05_15_035305_agregar_es_solidario.php b/database/migrations/2025_05_15_035305_agregar_es_solidario.php new file mode 100644 index 0000000..e4797c4 --- /dev/null +++ b/database/migrations/2025_05_15_035305_agregar_es_solidario.php @@ -0,0 +1,38 @@ +boolean('es_solidario')->default(false); + }); + + foreach (Producto::all() as $producto) { + $producto->es_solidario = $producto->proveedor_id != null; + $producto->save(); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('productos', function (Blueprint $table) { + $table->dropColumn('es_solidario'); + }); + } +} diff --git a/database/migrations/2025_05_15_035807_eliminar_proveedor.php b/database/migrations/2025_05_15_035807_eliminar_proveedor.php new file mode 100644 index 0000000..52c4210 --- /dev/null +++ b/database/migrations/2025_05_15_035807_eliminar_proveedor.php @@ -0,0 +1,59 @@ +dropColumn('proveedor_id'); + }); + Schema::dropIfExists('proveedores'); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::create('proveedores', function (Blueprint $table) { + $table->id(); + $table->string('nombre'); + $table->string('direccion')->nullable(); + $table->string('telefono')->nullable(); + $table->string('correo')->nullable(); + $table->boolean('economia_solidaria')->nullable(); + $table->boolean('nacional')->nullable(); + $table->text('detalles_de_pago')->nullable(); + $table->text('comentario')->nullable(); + $table->timestamps(); + }); + + Schema::table('productos', function (Blueprint $table) { + $table->foreignId('proveedor_id')->nullable(); + }); + + $proveedor_id = DB::table('proveedores')->insertGetId([ + ['nombre' => 'Proveedor de economía solidaria', + 'economia_solidaria' => 1, + 'nacional' => 1] + ]); + + foreach (Producto::all() as $producto) { + $producto->proveedor_id = $producto->es_solidario ? $proveedor_id : null; + $producto->save(); + } + } +}