Hiding columns in select all statements

If you use Laravel v8.78 and MySQL 8.0.23 and onwards, you can define choosen columns as "invisible". Columns which are define as invisible will be hidden from the select * statements.

However, to do so, we must use a invisible() method in the migration, something like that:

1use Illuminate\Database\Schema\Blueprint;
2use Illuminate\Support\Facades\Schema;
3 
4Schema::table('table', function (Blueprint $table) {
5 $table->string('secret')->nullable()->invisible();
6});

That's it! This will make chosen column hidden from select * statement.

Tip given by @CatS0up

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 22 courses (477 lessons, total 38 h 20 min)
  • 2 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord