22

I'm trying to create a table dynamically upon an admin request, and while it seems it should be straightforward like most of Laravel's documentation, I can't seem to create a table. Though I can drop tables, and add or drop columns as I wish.

This is my basic code model:

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

public static function createTable()
{
    Schema::create('randomName', function($table) {
        $table->increments('id');
        $table->string('name');
    });
}

What could possibly be the problem here? Unfortunately I don't receive any errors so not sure how to debug it.

Any advice? Thanks in advance!

2 Answers 2

67

Ugh, never mind... I worked on it for long enough, and the solution as always was... Very simple.

I just had to figure a connection for the database first, so instead of

Schema::create('tableName', function($table)
{           
    $table->increments('id');
});

It is

Schema::connection('mysql')->create('tableName', function($table)
{
    $table->increments('id');
});

Hope this helps someone someday in the future!

Sign up to request clarification or add additional context in comments.

Comments

12

This one is even better.

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

Schema::create('tableName', function (Blueprint $table) {
        $table->id();
        $table->timestamps();
    });

1 Comment

It is exactly the same as Shay's answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.