Shay Shay - 6 months ago 52
PHP Question

Laravel - Creating tables dynamically (without migration)

I'm trying to create a table dynamically upon an admin request, and while it seems all fun and dandy like in 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 I don't know how to debug it. It just goes on to the next line, like everything's working fine. It just doesn't create any tables.

Any advice? Much thanks in advance!

Answer

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!