Cuando usamos Laravel y los modelos del mismo, se crea un nombre de tabla (que será creada en la base de datos) que no siempre será correcto, sobre todo si está en idioma español.

Por ejemplo, yo tenía un modelo llamado MensajeIndividual pero el nombre de la tabla estaba como mensaje_individuals.

Hoy veremos cómo cambiar el nombre de la tabla en el modelo y en la migración (en caso de que exista).

Nombre de la tabla en migración

Si al crear el modelo generaste una migración, puedes cambiar el nombre de la tabla en el código. Por ejemplo, dirá Scheme::create("nombre_tabla"), puedes cambiar el nombre; solo asegúrate de cambiarlo también en el método down.

Quedaría así:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateMensajeIndividualsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        
        Schema::create('mensajes_individuales', function (Blueprint $table) {
        // Cambia el nombre aquí __↑
            
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('mensajes_individuales');
        // Cambia el nombre aquí __↑
    }
}

Cambiar en el modelo

Por otro lado, en el modelo también puede ser cambiado especificando la propiedad $table, así:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class MensajeIndividual extends Model
{
    //
    protected $table = "mensajes_individuales";// <-- El nombre personalizado
}

De este modo, al usar el modelo, se usará la tabla especificada.

Mira más sobre Laravel aquí.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto