Laravel在同一请求中创建和更改数据库

时间:2018-07-19 14:39:28

标签: mysql database laravel schema

我想做的是创建一个带有表单请求的数据库。

然后连接到创建的数据库并在其中创建表。

在同一页面上并且在同一请求上。

我不知道该怎么办,因为打开页面时会使用env文件和数据库文件,因此无法在其中输入值。

$database_create_control=DB::statement('create database '.$prefix);

/ ***** /

  Schema::create('companies', function (Blueprint $table) {
      $table->increments('company_id');
      $table->string('company_name',255);
      $table->timestamp('created_at')->nullable();
      $table->timestamp('updated_at')->nullable();
  });

我要连接的表发生在数据库中

但是我希望在几行前创建的数据库中工作。

2 个答案:

答案 0 :(得分:0)

创建数据库后,这是连接数据库的方式:

Config::set("database.connections.mysql", [
"host" => "...",
"database" => "...",
"username" => "...",
"password" => "...
]);

然后DB::purge('mysql');

然后紧接着执行Schema::create('companies') ...,以便您可以使用新的数据库

答案 1 :(得分:0)

Config::set('database.connections.mysql', array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => $prefix,
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_general_ci',
            'prefix'    => '',
        ));
        // and reconnect the DB class to the newly created version.

        DB::reconnect();

此解决方案有效!谢谢@侯赛因