为了说清楚,让我们做一个经典的例子 - 用户和帖子。
在Symfony2中创建数据库模式简洁明了:
OneToMany
注释,在Post ManyToOne
db:schema:update --force
并且我们可以得到我们想要的东西 - 数据库模式和简单的在数据库中添加另一行。Laravel4怎么样?到目前为止,我发现只有解决方案:
正如我所写的那样,它看起来并不复杂,但它并没有像在Symfony中那样集中在Laravel中。我是一个懒惰的人,我真的很喜欢Symfony的过程,而在Laravel,它有点过于分散。在Laravel中有没有更简单(lazier:P)的方法呢?像基于Model?
创建模式的东西答案 0 :(得分:2)
这个问题很有意义,但遗憾的是目前Laravel还没有这样的功能。
与从模型(symfony)运行迁移相反,您必须首先创建迁移,如果数据库表具有外键,则可以使用模型为数据库表设置种子。
我使用Jeffrey Way Generators https://github.com/JeffreyWay/Laravel-4-Generators
加快进程,例如,如果我有一个用户表和一个配置文件表(多对多),那么我将在命令行上执行这些任务:
php artisan generate:migration create_users_table --fields="username:string, password:string, email:string"
php artisan generate:migration create_profiles_table --fields="name:string, lastname:string, phone:string"
php artisan migrate
php artisan generate:pivot users profiles
php artisan migrate
然后你可以创建模型(你也可以生成一个完整的CRUD资源或脚手架)
php artisan generate:model user
php artisan generate:model profile
然后在您的用户模型中
public function profile()
{
return $this->belongsToMany('Profile');
}
在个人资料模型中
public function user()
{
return $this->belongsToMany('User');
}
答案 1 :(得分:0)
是的,有一些插件/命令可以加速开发。