看起来Laravel是市场上新的热门框架,所以我决定在其上构建我的下一个项目,我的数据库中有8个表(关系数据库)。因此,我尝试使用laravel的原因之一是它通过CRUD操作在模态文件夹中自动生成模态类。
所以我已经准备好了我的数据库架构,我正在读这两本书
- Getting started with laravel 4 by Raphael Saunier
- Laravel 4 CookBook by Christopher PITT
使用 mysqlite 作为数据源和使用 artisan
创建数据库模式并创建没有意义的模态 classes.so,当我准备好数据库 mysql 时,为什么要在数据库中再次创建它?
我已经看到许多用于创建模态类的链接,但大多数都来自2013
所以可能没有完全更新。
我的问题是
- 如果数据源是带有 CRUD 操作的 mysql,Laravel真的会为您生成模态类吗?- 任何教程都会有所帮助
我希望我答对了你的问题。
Laravel并不真正关心您使用哪种数据库类型,只要您在app/config/database.php
文件中正确指定它即可。
该方案通常是使用迁移创建的。当涉及到底层数据库类型时,这些迁移也是独立的。但是,您也可以按照常规方式创建方案或使用现有的数据库(如果适合),这可能需要您在某些情况下覆盖[model][3]
类的表名以及其他自定义项。
我不知道你正在读什么书,但我可以推荐 laracasts 免费截屏系列在 laravel 4 上(如果你想使用它,也有关于 laravel 5 的免费系列)。它应该让你启动并运行。
更新
我想创建模型的最快方法是使用Jeffrey Ways Generators。看看链接。使用它需要您执行 8 个命令,例如
php artisan generate:model YourModel
我强烈建议查看它提供的所有其他命令。我个人经常使用 generate:resource
命令。Jeffrey 还提供了关于他在 Laracasts 上的生成器的教程,这绝对值得一看。但我不知道这些发电机是否已经与 Laravel 5 一起工作。
更新 2
该命令在您的 models-文件夹中创建一个没有正文的类,这很好,因为它扩展了 Eloquent, Laravels ORM(活动记录)。如果模型的名称与 Model 类的名称相对应,则此模型应开箱即用。
一个例子
给定下表
CREATE TABLE products(
id INT PRIMARY KEY,
name VARCHAR(100),
created_at TIMESTAMP,
updated_at TIMESTAMP
)
模型
public class Product extends Eloquent {
}
会起作用,因为 Elouent 会自动映射表属性。
做类似的事情
$products = Product::all();
$productOne = Product::find(1);
$newProduct = new Product;
$newProduct->name = "my new product";
$newProduct->save();
// and so on
正在立即工作(请注意,laravel希望您在模型表中定义两个时间戳列。如果要禁用此功能,请通过添加 public $timestamps = false;
来编辑模型。