2015-05-07 20 views
6

Sto provando a creare una tabella dinamicamente su una richiesta di amministrazione, e mentre sembra tutto divertente e dandy come nella maggior parte della documentazione di Laravel, non riesco a sembrare creare un tavolo. Anche se posso rilasciare tabelle e aggiungere o eliminare colonne come vorrei.Laravel - Creazione di tabelle dinamicamente (senza migrazione)

Questo è il mio modello di codice di base:

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'); 
    }); 
} 

Che cosa potrebbe essere il problema qui? Purtroppo non ricevo errori, quindi non so come eseguirne il debug. Passa alla riga successiva, come se tutto funzionasse correttamente. Semplicemente non crea tabelle.

Qualche consiglio? Molte grazie in anticipo!

risposta

23

Ugh, non importa ... ci ho lavorato abbastanza a lungo, e la soluzione come sempre era ... Molto semplice.

Dovevo solo capire una connessione per il database prima, così invece di

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

È

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

Spero che questo aiuti qualcuno un giorno in futuro!

+3

Sì! Due mesi dopo ha aiutato qualcuno. Grazie –

+0

Felice di averlo fatto. :) – Shay

+0

Grazie Shay! Ancora utile nel 2017! – Driice

5

Questo è ancora meglio.

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

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