天天看点

laravel框架数据库操作

一,数据表的创建与配置

laravel框架提供两种数据库交互操作方式

1.DB类操作数据库

2.模型操作数据库

数据表的创建与配置

1.sql语句

2.图形界面

phpMyAdmin

Navicat

数据库在laravel框架中的配置

在.env文件中

laravel框架数据库操作

也可以在config目录下面的database.php文件里面配置,使用env函数,表示先从env文件里面获取,如果获取成功则使用,如果获取失败,则使用env的第二个参数

定义增删改查需要的路由

增加:/add get

删除:/del get

查询:/select get

修改:/mod get

laravel框架数据库操作

二,模型的定义

(1)定义位置

定义模型的位置,默认是在app目录下面:

(2)命名规则

本身laravel对模型的命名没有严格的要求,一般采用 表名(首字母大写).php

比如:Member.php User.php Goods.php

(3)创建模型

可以使用artisan命令;例如创建一个member模型【模型也可分目录管理,但是没必要】

[project] > php artisan make:model Member

laravel框架数据库操作
laravel框架数据库操作

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200328172153815.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNzM0MzAw,size_16,color_FFFFFF,t_704)定义模型注意事项(重点);

第一:(必做)定义一个$table属性,值是不要前缀的表名(真实的表名),如果不指定则使用类名的复数形式作为表名。如果模型为Member模型在不指定table属性的情况下,其默认会去找members表。修饰词:protected

第二:(可选)定义$primaryKey属性,值是主键名称,如果需要使AR模式的find方法,则可能需要指定主键(Model::find(n)),在主键字段不是id的时候则需要指定主键。修饰词:protected

第三:(可选)定义$timestamps属性,值是false,如果不设置为false,默认为true。则默认会操作表中的created_at和updated_at字段,我们表中一般没有这两个字段,所以设置为false,表示不要操作这两个字段。修饰词:public。【并不是所有的增加、修改操作都会自动帮我们去更新这2个字段】

laravel框架数据库操作

三.DB类&模型在控制器中的使用

1.DB类在控制器中的使用:可以操作所有数据表

步骤

引入DB类:use DB;

使用DB类:DB::table(表格)—>xxx()—>xxx()—>xxx();

(1)在控制器中引入DB,因为其在app.php中已经被系统定义了别名,所以可以简写,直接在控制器中写 use DB;

(2)再去方法中使用

注意:模型名要与数据库中的表明要有关联

比如模型名叫Member

表名就叫member

laravel框架数据库操作

举个使用小例子吧,在Testcontroller.php中,查询表member吧

laravel框架数据库操作
laravel框架数据库操作

(2)模型在控制器中的使用

日后再说