Я создаю проект на основе книги Начало работы с Laravel 4.
Итак, я создаю два файла в app / models / — Cat.php и Breed.php с этим содержимым:
Cat.php
<?php
class Cat extends Eloquent {
protected $fillable = array('name','date_of_birth','breed_id');
public function breed() {
return $this->belongsTo('Breed');
}
}
и Breed.php
<?php
class Breed extends Eloquent {
public $timestamps = false;
public function cats()
{
return $this->hasMany('Cat');
}
}
и после, я использую команду php artisan migration:make create_cats_and_breeds_table
Хорошо, и должен возникнуть файл в приложение / базы данных / миграции. Это.
Но его содержание не такое, как в книге …
В книге:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddCatsAndBreedsTable extends Migration {
public function up()
{
Schema::create('cats', function($table)
{
$table->increments('id');
$table->string('name');
$table->date('date_of_birth');
$table->integer('breed_id')->nullable();
$table->timestamps();
})
Schema::create('breeds', function($table)
{
$table->increments('id');
$table->string('name');
})
}
public function down()
{
Schema::drop('cats');
Schema::drop('breeds');
}
}
Мой код:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddCatsAndBreedsTable extends Migration {
public function up()
{
//
}
public function down()
{
//
}
}
Что случилось?
https://github.com/laracasts/Laravel-4-Generators
Предоставляет некоторые дополнительные команды кустарного производства, которые вы можете использовать для конкретных полей, чтобы сгенерировать файлы миграции.
php artisan generate:migration create_posts_table --fields="title:string, body:text"
миграция: сделать Команда ничего не знает о ваших моделях. Он просто создает заглушку, которую нужно заполнить определениями столбцов для ваших таблиц.