August 31st, 2021

Screen-Shot-2021-03-22-at-5.41.22-PM-1600x805.png

Change eloquent table name

I am caught up working on a ERP application for the Romanian furniture manufacturing industry so I named my tables in my native language. The problem with that were the suffixes that Laravel is adding (user -> users) and I ended up having a romanian name for the table ending in “s”.

1public function up()
2{
3 Schema::rename('old_table_name', 'new_table_name');
4}

Once you run the migration the table names will be changed BUT you may encounter some errors saying that the “old_table_name” could not be found. That’s because Laravel is trying to guess the table name and if this happens you should explicitly specify the table name in your Eloquent model like this:

1class NameOfTheClass extends Model
2{
3 public $table = 'new_table_name';
4}
fathom analytics Follow @LaravelMagazine on Twitter →

Comments

Marian Pop

PHP / Laravel Developer. Writing and maintaining @LaravelMagazine. Host of "The Laravel Magazine Podcast". Pronouns: vi/vim.

Newsletter

Get latest news, tutorials, community articles and podcast episodes delivered to your inbox every Friday!

We'll never share your email address and you can opt out at any time.