无法在Laravel 4.2中创建数据库表

时间:2014-08-15 03:34:46

标签: php mysql laravel-4

我正在尝试在Laravel中创建一个数据库。我在线关注教程:http://daylerees.com/codebright/schema。这是我的数据库配置和我的路由文件。

应用程序/配置/ database.php中

'my_candidatedb' => array(
                'driver'   => 'mysql',
                'host'     => 'localhost',
                'database' => 'test',
                'username' => 'root',
                'password' => '',
                'prefix'   => '',
                'port'     => '3306',
                'collation' => 'utf8_general_ci',
                'charset' => 'utf8'

应用程序/ route.php

Route::get('table', function()
{
    try 
    {
        schema::create('candidate', function($table)
        {
            $table->increments('candidate_id');
            $table->string('first_name', 32);
            $table->string('last_name', 32);
            $table->string('email', 320);
        });
    } 

    catch (Exception $e) 
    {
        return 'Error ' . '<p>'.$e->getMessage().'</p>';
    }       
});

当我点击URI /表时,我没有收到任何错误消息,除了“哎呀,看起来出了问题。”。如果有人能告诉我我做错了什么会很棒。

2 个答案:

答案 0 :(得分:2)

正确的方法是使用php artisan创建迁移,然后构建模式。

在项目根目录的终端中,键入:

php artisan migrate:make create_candidate_table

然后导航到app / database / migrations,您将看到生成的文件。在up()方法中添加模式,在down方法中使用以下方式删除模式:

Schema::drop('candidate');

返回终端运行php artisan migrate,表格应生成。

<强>迁移:

public function up() {

    Schema::create('candidate', function($table)
    {
        $table->increments('candidate_id');
        $table->string('first_name', 32);
        $table->string('last_name', 32);
        $table->string('email', 320);
    });

}

public function down() {

    Schema::drop('candidate');

}

这是生成表格的推荐且最安全(也是最简单)的方法。

答案 1 :(得分:-1)

将localhost更改为IP

'host'=&gt; 'localhost' 的, 至 'host'=&gt; '127.0.0.1',

有同样的问题而且解决了它