天天看點

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)模型在控制器中的使用

日後再說