https://www.cnblogs.com/lx0715/p/10060178.html
使用 模型 Model处理数据的 增删改查
Eloquent ORM 让数据库的操作变的超级简单而且还安全
首先创建一个Model
默认是没有Model文件夹的 创建的话 会生成在app根目录下 但是当Model过多之后 就会有点恐怖了
所以我们可以自己创建一个Model文件夹
命令如下
php artisan make:model Models/Artisan
模型Model的命名规则
是和数据表相对立的
laravel的数据表命名是用下划线+复数的形式
Model文件命名是单数形式帕斯卡命名法 首字母大写 驼峰命名法
比如 articles 表 Model文件名为 Article.php
user_types表的Model文件名为 UserType.php
再新建一个controller控制器 调用Model模型
命令
php artisan make:controller ModelController
在controller方法中
use 导入Model
use App\Models\Article;
新建一个index方法
解释一下 上面的代码
function括号中的类名和变量当参数传给方法 这个人概念是 依赖注入 可以理解为实例化对象$articleModel,这样理解就可以方便一点
也可以这样
$articleModel = new Article();
$data = $articleModel->get();
或者这样
$data = Article::get();
以上方法 获取到的数据都是一样的
dump()中的toarray()方法是把查询出来的数据转化为数组,laravel中查出来的数据大多都是 集合 collection
在添加路由
Route::prefix('model')->group(function(){ Route::get('index', 'ModelController@index'); })
访问 域名+model/index
接下来说 插入数据 正常流程是 html表单提交到php文件 处理插入到数据库
模型中有一个create()方法就是用来新增数据的 当然你也可以直接insert into 这样的话 就没有框架的意义了
新建一个方法和路由 store
上面的store方法 是对象调用了一个insert()方法 这个方法是我封装在Model文件中的 当然也可以直接在控制器中执行(下边会有举例),但是不提倡
看一下 Model文件中的insert方法
解释 create()方法默认返回的是插入的数据内容 后边加 ->id 就是只返回id
访问 域名+model/store
会报错 因为要在模型中先定义允许 create方法插入的字段
如上图可以二选一的 一般插入字段过多 就用第二种
查看数据库
通过 模型插入的数据 会自动插入 添加时间和 修改时间 之前说过创建表结构时
接下来 修改数据 新建方法 添加路由 update 修改id为5的数据
访问 执行
最后 是删除 laravel自带有回收站删除 软删除 删除之后可以恢复,但是数据库表中需要deleted_at字段,,之前也说过 创建表迁移时,调用 SoftDeletes
完了 要开启软删除功能,
模型 默认没有开启
在模型中 use 导入 SoftDeletes;
完了 再在Model类中开启功能
新建方法 添加路由
完全删除信息 方法
开启软删除后 实现回收站功能 恢复软删除的方法restore()
开启软删除后的查询 查询包含软删除的信息 用 withTrashed()方法
只查被软删除的信息 onlyTrashed()方法
以上就是 Model模型的Eloquent ORM