Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。
一、数据库操作之DB facade 查询方法:select,update,insert,delete,和statement。
查询操作
|
|
新增操作
|
|
更新操作
|
|
删除操作
|
|
运行一般性声明
|
|
二 、数据库操作之查询构造器
使用查询构造器实现查询
|
|
新增
|
|
删除
|
|
使用聚合函数
|
|
三、数据库操作之 - Eloquent ORM
简介
Laravel 内置的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的模型(Model),通过模型类,你可以对数据表进行查询、插入、更新、删除等操作。
在开始之前,确保在 config/database.php 文件中配置好了数据库连接。
我们从创建一个 Eloquent 模型开始,模型类通常位于 app 目录下,你也可以将其放在其他可以被 composer.json 文件自动加载到的地方。所有 Eloquent 模型都继承自 Illuminate\Database\Eloquent\Model 类。
创建模型实例最简单的办法就是使用 Artisan 命令 make:model:
如果你想要在生成模型时生成数据库迁移,可以使用 –migration 或 -m 选项:
建立模型,在app目录下建立一个Student模型,即Student.php,不需要带任何后缀。
|
|
在Student控制器里增加一个test3方法,配置路由 Route::get(‘test3’,[‘uses’=>’StudentController@test3’]);
2 . 新增数据、自定义时间戳、批量赋值
(1)使用save方法新增
laravel会默认维护created_at,updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段。如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库
控制器里写:
从数据库里取得某条记录的时间戳时,默认取得的是按日期格式化好的时间戳,如果想取得原本的时间戳,则在模型里增加asDateTime方法。
(2)使用create方法新增时,需要在模型里增加:
|
|
控制器里写:
(3)firstOrCreate()以属性查找记录,若没有则新增
|
|
(4)firstOrNew()以属性查找记录,若没有则会创建新的实例。若需要保存,则自己调用save方法()
|
|
修改数据
|
|
删除数据
|
|