我正在观看来自Laracast标题的教程" Laracast Digging In"第一部分说明如何通过简单的方式使用雄辩。
# app/models/tasks.php
class tasks extends Eloquent{
}
然后继续做
php artisan migration:make create_tasks_table --create --table="tasks"
然后生成一个如下所示的迁移文件。
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTasksTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create("tasks", function(Blueprint $table)
{
$table->increments("id");
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop("tasks");
}
}
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTasksTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function(Blueprint $table)
{
//
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('tasks', function(Blueprint $table)
{
//
});
}
}
正如你所看到的,除了我的方法省略
$table->increments("id");
$table->timestamps();
此处已将create
替换为table
。
Schema::table('tasks', function(Blueprint $table)
^^ is 'create' in the tutorial.
为什么会发生这种情况。如果我只是忽略这一点并开始学习本教程,我就无法开始工作。而且我不想手动修改它,所以为什么会这样,我该如何解决它。
答案 0 :(得分:3)
您使用的命令错误
基于Laravel tutorial 用这个:
用于创建表格
php artisan migrate:make create_tasks_table --create=tasks
用于更新表格
php artisan migrate:make create_tasks_table --table=tasks
基本上你需要使用--create
或--table
而不是两者。
当您使用--create
时,迁移将使用Schema::create
表示迁移将创建表
当您使用--table
时,迁移将为Schema::table
,表示将更新表格
答案 1 :(得分:2)
使用--table="tableName"
(Schema :: table)更新表,或使用--create="tableName"
(Schema :: create)创建新表。
答案 2 :(得分:2)
我非常确定您所使用的教程中使用的开发者 JeffreyWay / Laravel -4-发电机。 如果您对Laravel4感到舒服,请忽略发生器并替换表#39;根据您要执行的操作创建或删除。
抱歉我的英文不好