本文共 2124 字,大约阅读时间需要 7 分钟。
Laravel 提供了三种操作数据库的方式:DB facade(原始查找),查询构造器,以及Eloquent ORM。每种方式都有其独特的适用场景。了解这些工具可以帮助开发者高效地与数据库交互。
连接数据库配置
数据库配置通常通过.env
文件和config/database.php
来设置。例如,设置默认数据库配置如下: .env 文件设置:DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=test DB_USERNAME=root DB_PASSWORD=root
在config/database.php
中,设置数据库前缀为空:
'mysql' => [ 'prefix' => '', // 其他配置...],
CURD 操作
通过DB facade实现基本的增删改查操作。以下是示例代码:$flag = DB::insert('insert into student(name, age) values (?, ?)', ["helen", 16]);
$totalStudents = DB::select('select * from student');
$num = DB::update('update student set age = ? where name = ?', [34, 'helen']);
$num = DB::delete('delete from student where id > ?', [1]);
查询构造器提供了更强大的查询功能,支持复杂的逻辑条件和数据操作。以下是一些常见操作示例:
$bool = DB::table('student')->insert(['name' => 'michael', 'age' => 1]);
$students = DB::table('student')->get();
$student = DB::table('student')->where(['id' => 12])->get();
$count = DB::table('student')->count();$maxAge = DB::table('student')->max('age');
$students = DB::table('student')->orderBy('id', 'desc')->chunk(3, function ($std) { var_dump($std);});
Eloquent 是 Laravel 标准的 ORM,可以通过定义模型来简化数据库操作。以下是使用 Eloquent 的常见操作:
Model
,并设置适当的字段和关系:namespace App\Models;use Illuminate\Database\Eloquent\Model;class Student extends Model{ protected $table = 'students'; protected $primaryKey = 'id';}
$students = Student::all();$student = Student::find(12);
$student = Student::where('id', '>', 10)->orderBy('age', 'asc')->first();
$student = Student::create(['name' => 'Leon', 'age' => 16]);
$student = Student::find(12)->delete();
Blade 是 Laravel 的模板引擎,支持模版继承、布局和变量传递。以下是 Blade 的常用语法:
@section
和@extends
来创建模板:@include('member.layouts')@section('sidebar') @show@yield('content') @stop
return view('student.show', ['name' => 'Leon']);
@if($id == 'Leon') // 做一些事情@endif
{{ url('student.show') }}
通过合理使用DB facade、查询构造器和Eloquent ORM,可以在 Laravel 开发中高效地与数据库交互,充分发挥框架的优势。
转载地址:http://kygyk.baihongyu.com/