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í.
Te amo!