我根据“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
好的,应该出现在 app / database / migrations 中的文件。它是。
但是,它的内容与书中的内容不同......
在书中:
<?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()
{
//
}
}
发生了什么事?
答案 0 :(得分:0)
迁移:make 命令对您的模型一无所知。它只是创建一个存根,您需要填充表的列定义。
答案 1 :(得分:0)
https://github.com/laracasts/Laravel-4-Generators
提供一些额外的工匠命令,您可以使用这些命令来指定字段以生成迁移文件。
php artisan generate:migration create_posts_table --fields="title:string, body:text"