成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作實例分析

laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作實例分析

熱門標簽:揚州地圖標注app 青島語音外呼系統(tǒng)招商 山西探意電話機器人 岳陽外呼型呼叫中心系統(tǒng)在哪里 騰訊外呼管理系統(tǒng) 昭通辦理400電話 河南電銷卡外呼系統(tǒng)哪家強 山西回撥外呼系統(tǒng) 百應電話機器人服務

本文實例講述了laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作。分享給大家供大家參考,具體如下:

1、連接數(shù)據(jù)庫

laravel連接數(shù)據(jù)庫的配置文件位于config/database.php中,在其中connection字段中包含laravel所支持的數(shù)據(jù)庫的配置信息,可以看到其中有主機、端口、數(shù)據(jù)庫、用戶名、密碼等信息:

'mysql' => [
  'driver' => 'mysql',
  'host' => env('DB_HOST', 'localhost'),
  'port' => env('DB_PORT', '3306'),
  'database' => env('DB_DATABASE', 'forge'),
  'username' => env('DB_USERNAME', 'forge'),
  'password' => env('DB_PASSWORD', ''),
  'charset' => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix' => '',
  'strict' => false,
  'engine' => null,
],

其中都是引入env文件中的默認值,laravel目錄最外層有.env文件,在其中配置對應的默認值

DB_HOST=數(shù)據(jù)庫服務器地址
DB_PORT=數(shù)據(jù)庫端口
DB_DATABASE=數(shù)據(jù)庫名
DB_USERNAME=用戶名
DB_PASSWORD=密碼

2、原生SQL操作數(shù)據(jù)庫

在controller中對數(shù)據(jù)庫進行增刪改查的操作

public static function testDB(){
  //增加一條數(shù)據(jù)
  DB::insert("insert into student(name,age) values(?,?)",['sandy',19]);
  //刪除一條數(shù)據(jù)
  DB::delete('delete from student where name=?',['sandy']);
  //修改一條數(shù)據(jù)
  DB::update('update student set sex=? where name=?',['男','tory']);
  //查詢數(shù)據(jù)
  $res=DB::select('select * from student');
  //進行數(shù)據(jù)庫通用操作
  DB::statement('drop table users');
  //打印結果
  dd($res);
}

其中通過?占位符的方式進行了參數(shù)綁定,以此來防止數(shù)據(jù)庫注入攻擊,也可以通過命名綁定的方式:   

$res = DB::select('select * from users where id = :id', ['id' => 1]);

3、通過查詢構建器操作數(shù)據(jù)庫

Laravel將常用的數(shù)據(jù)庫操作封裝為接口函數(shù)提供給用戶調(diào)用,從而使數(shù)據(jù)庫操作更為便捷,這些接口就是查詢構建器(query builder)。而且通過PDO綁定的方式避免SQL注入攻擊,在使用查詢構建器時不必考慮過濾用戶輸入。

3.1、得到結果集

lavarel查詢的返回結果集合是StdClass,可以通過$res->name類似訪問對象屬性的方式訪問返回值。如果要查詢整個表使用get(),查詢表中一條數(shù)據(jù)使用first(),查詢一條數(shù)據(jù)的某個字段用value(),查詢表中所有數(shù)據(jù)的某個字段用pluck()

//get()返回表中所有數(shù)據(jù)
$res=DB::table('student')->get();
//first()返回結果集中的第一條數(shù)據(jù)
$res=DB::table('student')->where('id','1001')->first();
//value()返回一條數(shù)據(jù)中的指定字段
$res=DB::table('student')->where('id','1003')->value('name');
//pluck()返回結果集中name字段的所有值
$res=DB::table('student')->pluck('name');

當結果集中的數(shù)據(jù)過多時,可以通過分塊的方式返回結果集,chunk函數(shù)第一個參數(shù)為分塊的大?。ㄒ悦繅K2個數(shù)據(jù)的方式返回結果集),第二個參數(shù)為回調(diào)函數(shù),當其返回false時就停止結果集的返回:

DB::table('student')->chunk(2,function ($res){
  foreach ($res as $user){
    var_dump($user);
    if ($user->id >=1003) return false;
  }
});

3.2、增刪改查

//增加一條數(shù)據(jù)
DB::table('student')->insert(['name'=>'李four','sex'=>'男','age'=>22]);
//增加多條數(shù)據(jù)
DB::table('student')->insert([
  ['name'=>'wang五','sex'=>'女','age'=>21],
  ['name'=>'zhao六','sex'=>'女','age'=>20],
]);
//刪除數(shù)據(jù)
DB::table('student')->where('id','>=',1006)->delete();
//刪除整個表
DB::table('student')->truncate();
//修改數(shù)據(jù)
DB::table('student')->where('id',1005)->update(['sex'=>'女','age'=>21]);
//自增increment、自減decrement,默認增1
DB::table('student')->where('id',1005)->increment('age',2);
//自增同時可以進行修改
DB::table('student')->where('id',1005)->increment('age',1,['sex'=>'女']);
//查詢指定字段
$res=DB::table('student')->select('name','age')->get();

3.3、查詢條件

通過查詢構建器的where方法可以添加數(shù)據(jù)庫查詢條件,where()接收三個參數(shù):字段名、操作符、值,操作符如果是'='可以省略,例如查詢id>=1003的數(shù)據(jù):

$res=DB::table('student')->where('id','>=',1003)->get();

也可以通過條件數(shù)組傳入多個限制條件,比如查詢id>=1003并且id1005:

$res=DB::table('student')->where([
  ['id','>=',1003],
  ['id','',1005]
])->get();

通過orwhere()來連接兩個并列條件,例如查詢id>=1003或者id1002的數(shù)據(jù):

$res=DB::table('student')->where('id','>=',1003)->orwhere('id','',1002)->get();

whereBetween()查詢位于某個區(qū)間的數(shù)據(jù):

$res=DB::table('student')->whereBetween('id',[1003,1006])->get();

when()來判斷某個查詢是否執(zhí)行,例如當$order為true時,才會執(zhí)行排序:

$order=false;
$res=DB::table('student')->when($order,function ($query){
  return $query->orderBy('age','desc');       //$order為true時才執(zhí)行此語句
})->get();

3.4、排序、分組、限定

//orderBy對age字段升序
$res=DB::table('student')->orderBy('age','asc')->get();
//按照create_at字段進行時間排序
$res=DB::table('student')->latest('create_at')->get();
//分組
$res=DB::table('student')->groupBy('sex')->get();
//跳過一條數(shù)據(jù)后返回2條數(shù)據(jù)
$res=DB::table('student')->skip(1)->limit(2)->get();

3.5、聚合函數(shù)

laravel查詢構建器還提供了聚合函數(shù)用于操作查詢的結果集,包括count(計數(shù))、sum(求和)、avg(平均值)、max(最大值)、min(最小值),例如求年齡平均值:

$res=DB::table('student')->avg('age');

4、Eloquent ORM

ORM是對象關系映射(Object Relational Mapping)的簡稱,是一種實現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉換的技術,即將數(shù)據(jù)庫中的數(shù)據(jù)按照對象的形式進行組織,可以便于面向?qū)ο蟮某绦蜻M行數(shù)據(jù)庫操作,之前在學習mongoDB時使用過mongoose ORM組織mongoDB ,當時還沒有意識到這是orm。

Laravel內(nèi)置的Eloquent ORM提供了一種便捷的方式幫助你組織數(shù)據(jù)庫數(shù)據(jù),每張數(shù)據(jù)表都對應一個與該表進行交互的模型(Model),通過Model類,你可以對數(shù)據(jù)表進行查詢、插入、更新、刪除等操作。Eloquent ORM本質(zhì)上是查詢構建器,因此上面查詢構建器所使用的方法Eloquent都可以使用。

4.1、創(chuàng)建Model

在app文件夾下新建model文件,每個數(shù)據(jù)庫都需要對應一個model,例如創(chuàng)建一個Student模板類:

namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
  //指定對應的表
  protected $table='student';
  //指定主鍵
  protected $primaryKey='id';
  //允許批量賦值的字段
  protected $fillable=['name','age'];
  //不允許批量賦值的字段
  protected $guarded=['created_at'];
}

模板類會默認對應小寫首字母末尾加s的數(shù)據(jù)庫,例如Student模板會在當前數(shù)據(jù)庫中查找students表。如果需要自定義表名,則需要重寫$table變量來指定表名。

Eloquent默認的主鍵為'id',且該字段為自增int型,如果需要自定義主鍵,可以通過$primaryKey來指定。

Eloquent默認會管理數(shù)據(jù)表的創(chuàng)建時間、更新時間,對應數(shù)據(jù)表中的created_at、updated_at字段,你需要在創(chuàng)建表時包含這兩個字段。如果不需要管理,可以令public $timestamps = false;。否則會報錯

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field list'

也可以自定義兩個時間為你數(shù)據(jù)庫中的字段:

const CREATED_AT = 'my_create';
const UPDATED_AT = 'my_update';

4.2、Eloquent操作數(shù)據(jù)庫

  • 新增數(shù)據(jù)有兩種方法,一是通過新建ORM實例,而是通過create方法。在使用create批量添加時,需要在模板中通過$fillable指定可以賦值的字段,也可以$guard指定不允許賦值的字段。
//新建實例并賦值、保存
$stu=new Student();
$stu->name='orm2';
$stu->save();
//create方法批量添加數(shù)據(jù)
Student::create(['name'=>'orm3','age'=>13]);

  • 刪除數(shù)據(jù)也有兩種方法,一是通過find方法刪除指定主鍵,二是通過查詢構建器:
//destroy刪除指定主鍵值
Student::destroy(1006,1007);
//通過查詢構建器刪除
Student::where('id',1008)->delete();

  • 修改數(shù)據(jù):①通過ORM實例來修改并保存②通過查詢構建器
//通過返回Student對象進行修改
$stu=Student::find(1005);
$stu->age=21;
$stu->save();
//通過查詢構建器修改
Student::where('id',1005)->update(['age'=>22]);

  • 查找數(shù)據(jù):
//查詢表中所有記錄
$table=Student::all();
//根據(jù)id查詢一條數(shù)據(jù)
$row=Student::find(1002);
dd($table);

當然也可以通過構建器的get()、first()來獲取數(shù)據(jù)

通過上面的增刪改查可以看出Eloquent可以使用查詢構建器的所有方法,除了增刪改查外,還有where、聚合函數(shù)等。

更多關于Laravel相關內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • laravel5.6 框架操作數(shù)據(jù) Eloquent ORM用法示例
  • Laravel 手動開關 Eloquent 修改器的操作方法
  • Laravel框架Eloquent ORM新增數(shù)據(jù)、自定義時間戳及批量賦值用法詳解
  • Laravel框架Eloquent ORM簡介、模型建立及查詢數(shù)據(jù)操作詳解
  • Laravel框架Eloquent ORM修改數(shù)據(jù)操作示例
  • Laravel Eloquent分表方法并使用模型關聯(lián)的實現(xiàn)
  • laravel7學習之無限級分類的最新實現(xiàn)方法
  • laravel admin實現(xiàn)分類樹/模型樹的示例代碼
  • 如何使用Laravel Eloquent來開發(fā)無限極分類

標簽:南陽 銅川 鎮(zhèn)江 黃南 寶雞 宜賓 婁底 湛江

巨人網(wǎng)絡通訊聲明:本文標題《laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作實例分析》,本文關鍵詞  laravel,框架,數(shù)據(jù)庫,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作實例分析》相關的同類信息!
  • 本頁收集關于laravel框架數(shù)據(jù)庫操作、查詢構建器、Eloquent ORM操作實例分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美午夜精品久久久久久超碰| 久久久精品国产99久久精品芒果| 欧美黄色小视频| 欧美黑人巨大xxxx猛交| 久久婷婷丁香| 国产一级网站视频在线| av在线不卡精品| 精品国产电影一区| 欧美日溪乱毛片| 丰满的护士2在线观看高清| 一级一片免费播放| 亚洲精品一区二区三区影院| 亚洲人成毛片在线播放| 搞黄视频免费在线观看| 欧美极品在线播放| 日韩国产中文字幕| 稀缺呦国内精品呦| 久久99精品一区二区三区三区| 亚洲AV无码国产精品| 国产亚洲高清视频| 亚洲免费看av| 91九色精品视频| 国产精品麻豆网站| www.欧美日本| 国产日韩视频在线观看| 91免费国产视频| 亚洲精品无码专区| 国内精品免费视频精选在线观看| 国产精品色呦呦| 91大神xh98hx在线播放| 欧美特黄一区| 精品国产91洋老外米糕| 国产亚av手机在线观看| 久久久999| 再深点灬舒服灬太大了添少妇视频| 精品国产欧美日韩一区二区三区| 无码免费一区二区三区免费播放| 欧美日韩亚洲第一| 国产精品一区二区亚洲| 国产精品区一区二| 日韩精品视频免费专区在线播放| 久久99国产精品麻豆| 久久精品一区二区| 日韩欧美伦理电影院| 中文字幕一区二区视频| av播放在线观看| 国产欧美日韩精品综合| 天天干天天爱天天操| 日韩一区二区在线看片| 老色鬼在线视频| 在线观看黄网址| 黄色免费视频在线观看| 黄色一级大片在线免费观看| 欧美a级在线| 黄色亚洲精品| 欧美天堂一区二区三区| 欧美aⅴ99久久黑人专区| 国产在线精品一区免费香蕉| 狠狠躁夜夜躁人人爽天天天天97| 91影视免费在线观看| 久久天天躁夜夜躁狠狠躁2022| 在线免费观看黄色片| 视频一区中文字幕精品| 三上悠亚一区二区| 国产精品国产三级国产aⅴ浪潮| 伊人手机在线视频| 国产内射老熟女aaaa| 一区二区三区四区在线观看国产日韩| 日韩欧美一区二区在线| 国产伦精品一区二区三区四区免费| 26uuu亚洲电影在线观看| 国产精品午夜视频| 久久一日本道色综合久久| 五月激情五月婷婷| 一级性生活免费视频| 香蕉免费毛片视频| 国产成人精品电影久久久| 中文字幕21页在线看| 日韩精品视频播放| 99re热这里只有精品免费视频| av在线com| 国产视频亚洲精品| 欧美午夜精品久久久久久久| 高清不卡一二三区| 爱情岛论坛vip永久入口| 91视频在线观看免费| 午夜国产福利在线| 韩国三级在线观看久| 日韩有码免费视频| 久久免费播放视频| 激情高潮到大叫狂喷水| 欧美亚洲高清一区二区三区不卡| 久久国产精品99国产| 国产欧美日韩视频在线| 国产麻豆视频精品| 亚洲精品乱码久久久久久蜜桃动漫| 久久艹国产精品| 久久精品久久精品| 亚洲一区二区三区免费看| 日韩欧美中文字幕公布| 久久综合九色综合97_久久久| 国产盗摄——sm在线视频| 无码任你躁久久久久久老妇| 国产极品嫩模在线视频一区| 久久久精品免费网站| 福利精品在线| 2019亚洲男人天堂| 亚洲免费久久| 中文字幕天堂av| 亚洲国产欧美一区二区三区久久| 日韩欧美资源站| 亚洲色婷婷一区二区三区| 国产又粗又大又爽的视频| 日韩在线你懂得| 91国产精品一区| 国产欧美综合精品一区二区| 黄色av地址| 2019av中文字幕| 日韩久久不卡| 天堂网www在线观看| 日韩av首页| 亚洲精品性视频| 国产精品成人久久久久| www.91视频com| 网友自拍亚洲| 波多野结衣欧美| 欧美亚洲天堂| 高潮久久久久久久久久久久久久| 无码人妻丰满熟妇区毛片蜜桃精品| 不卡的av中文字幕| 亚洲天堂岛国片| 欧美日韩精品中文字幕| 欧美黑人在线观看| 天堂社区日本电影超碰| 大陆极品少妇内射aaaaaa| 国产艳俗歌舞表演hd| 日韩精品一区二区三区视频播放| 九九亚洲精品| 国产成人精品一区二区色戒| 日韩不卡免费高清视频| 无套白嫩进入乌克兰美女| 最新天堂资源在线| 亚洲精品中文字幕有码专区| 国产精品久久久久久久免费软件| 91九色国产视频| 精品一区二区三区在线| 日本成人网址| 欧美三级三级三级| 亚洲精品二区三区| 小小的日本在线观看免费色网| 狠狠v欧美ⅴ日韩v亚洲v大胸| 日本一区二区三区视频视频| 中文字幕久久久久久久| 亚洲精品国产精品自产a区红杏吧| 国产一卡二卡三卡| 好吊妞www.84com只有这里才有精品| 国产精品久久久久久久久动漫| 精品美女一区二区三区| 久久久久久久久艹| 久久精品国产亚洲一区二区| 午夜视频在线观看国产| 成人片在线看| 日韩爱爱小视频| 精品福利一区二区| 青青青免费在线| 亚洲精品乱码久久久久久蜜桃91| 日韩欧美中文字幕在线视频| 极品白嫩少妇无套内谢| 欧美aaa在线观看| 香蕉视频免费在线看| 一区二区三区午夜视频| 欧美在线观看视频一区二区| 午夜精品短视频| 精品国产伦一区二区三区观看方式| 精品美女一区| 一级黄色免费看| 亚洲色婷婷一区二区三区| 国产原创精品视频| 成av人免费青青久| 一本大道久久加勒比香蕉| 日韩欧美一区二区久久婷婷| 国产一区二区三区久久精品| 国产盗摄xxxx视频xxx69| 久久国产精品色| 精品免费一区二区三区| 艳女tv在线观看国产一区| 99精品中文字幕| 精品人妻一区二区三区日产乱码卜| 国产精品精品久久久久久| heyzo在线播放| 新呦u视频一区二区| 国产91精品不卡视频| 精品国内自产拍在线观看| 性欧美大战久久久久久久免费观看| 奇米一区二区三区av| 久久精品xxxxx| 国产又大又黄又猛| 91久久国产综合久久91精品网站| 18禁一区二区三区| 国产在线视频2019最新视频| 一区二区精品区| 日韩精品一区二区三区在线视频| 国产午夜精品一区理论片飘花| 天海翼亚洲一区二区三区| 加勒比精品视频| 欧美人xxxxx| 日韩欧美一区二区三区久久| 欧美大片aaaa| 福利视频网站一区二区三区| 成人影视免费观看| 美腿丝袜亚洲一区| 91精品国产91久久久久久久久| 国产sm精品调教视频网站| 波多野结衣激情视频| 国产精品网址在线| 国产夫妻自拍一区| 久久99久久久欧美国产| 在线丨暗呦小u女国产精品| 久久你懂得1024| 中文在线资源观看视频网站免费不卡| 日韩av无码中文字幕| 希岛爱理中文字幕| 成人国产精品免费观看动漫| 国产三级国产精品国产国在线观看| 九热这里只有精品| 成年无码av片在线| 亚洲欧美日韩在线播放| 欧美gay囗交囗交| 91久久精品一区二区三| 中文字幕久精品免费视频| 欧美日韩在线综合| 免费av片风间由美在线| 少妇一级淫片免费放中国| 91文字幕巨乱亚洲香蕉| 国产成人免费视频app| 亚洲一级高清| 久久91超碰青草是什么| 69影院欧美专区视频| 精品国产一区a| 亚洲在线久久| 日韩一区二区三区三四区视频在线观看| 成人黄色国产精品网站大全在线免费观看| 日本中文字幕电影在线免费观看| 男人天堂资源在线| 可以免费在线看黄的网站| 最新欧美色图| 日韩精品久久久久久福利| 欧美天堂亚洲电影院在线播放| 欧美亚洲另类激情另类| 日韩精品人妻中文字幕| 亚洲国产成人在线播放| 日韩欧美亚洲范冰冰与中字| 亚洲图片欧美午夜| 中文字幕一区二区三区欧美日韩| 91av网站在线播放| 欧美丝袜在线观看| 亚洲欧美综合网| 成人久久精品视频| 亚洲h视频在线观看| 日本在线一区二区| 91伊人久久大香线蕉| 欧美在线观看天堂一区二区三区| jlzzjlzz亚洲日本少妇| 久久三级毛片| 456亚洲精品成人影院| 久久爱一区二区| 午夜激情视频在线播放| av线上观看| 国产一区二区在线免费观看| 美女免费黄色| 3atv一区二区三区| 女人让男人操自己视频在线观看| 国产精选久久久| 性欧美暴力猛交69hd| 国产91精品久| 奇米888四色在线精品| 中文字幕精品一区二区精| 国产三级视频在线播放| 好看的av网站| 四虎海外影库www4hu| 亚洲欧美日韩国产成人精品影院| 尤物在线精品视频| 蜜月aⅴ免费一区二区三区| 亚洲天堂免费| 日本美女在线中文版| 国产成人77亚洲精品www| 中文字幕高清在线免费播放| 久久婷婷五月综合色丁香| 又污又黄的网站| 麻豆亚洲一区| 国产九九在线| 9191久久久久久久久久久| 精品国内自产拍在线视频| 中文字幕成人乱码在线电影| 好男人www社区在线视频夜恋| 久久久久久久久免费看无码| 最近国语视频在线观看免费播放| 91精品入口蜜桃| 少妇高潮久久久久久潘金莲| 国产又爽又黄无码无遮挡在线观看| 欧美在线一级va免费观看| 激情黄色小视频| 国产精品综合久久久久| 久久在线免费视频| 在线免费电影网| 小明看看成人免费视频| 韩国精品视频在线观看| 午夜a一级毛片亚洲欧洲| 一区在线视频| 亚洲精品喷潮一区二区三区| 韩日午夜在线资源一区二区| 6699久久国产精品免费| 中文字幕人成乱码在线观看| 久久蜜桃资源一区二区老牛| 欧美精品福利视频| 激情都市一区二区| 老**午夜毛片一区二区三区| 色综合天天综合狠狠| 亚洲免费999| 91麻豆免费看片| 国产伦精品一区二区三区照片| 国产免费av高清在线| 欧美亚日韩国产aⅴ精品中极品| 国产四区在线观看| 久久久午夜精品理论片中文字幕| 日韩中文字幕在线观看| 国内精品国产成人国产三级| 国产黄色片大全|