你可能想看看 Eloquent,这是 Laravel 使用的默认 ORM。它使数据库变得非常容易。有些人可能会有不同的想法,但这可以通过接口和存储库来解决。
Laravel 使用 MVC 范式。数据库应该通过模型进行更新。因此,通过用户提交的视图,假设是一个新用户,控制器获取发布请求并将数据传递给模型,模型更新数据库。
假设你将使用 Laravel 默认的用户模型。这个模型已经从 Eloquent 扩展而来。您应该已经有一个数据库:
用户表数据库
id, auto_increment
username, varchar(255)
password, varchar(255)
email, varchar(255)
created_at (datetime)
updated_at (datetime)
app/models/User.php
class User extends Eloquent implements UserInterface, RemindableInterface {
app/controllers/HomeController.php
public function showWelcome()
{
$user = new User;
$user->username = 'johndoe';
$user->email = 'john@johndoe.com';
$user->password = 'password';
$user->save();
return View::make('hello');
}
如果您已正确设置数据库并迁移了 User 表,这应该可以工作,并为您在 Laravel 中与数据库进行交互提供了一个良好的起点。这不是向数据库添加数据的首选方式,因为此操作不应该放在控制器内部,但这将是下一步。我是通过这种方式开始学习 Laravel 的,它确实可以帮助你正确理解框架。
PS:
DB::query('insert into users (username, email, password) values ("johndoe", "john@johndoe.com", "password")');
这非常不安全并且容易受到 SQL 注入的影响,但 Laravel 提供了解决方案,也适用于原始查询。