
laravel 学习之第一章
插入数据:
发布日期:2025-04-04 03:41:18
浏览次数:10
分类:精选文章
本文共 2124 字,大约阅读时间需要 7 分钟。
Laravel 模型与数据库操作指南
模型概述
Laravel 提供了三种操作数据库的方式:DB facade(原始查找),查询构造器,以及Eloquent ORM。每种方式都有其独特的适用场景。了解这些工具可以帮助开发者高效地与数据库交互。
DB Facade
连接数据库配置
数据库配置通常通过.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]);
- 查询数据:
- 更新数据:
- 删除数据:
- 新增数据:
- 获取数据:
- 查询数据:
- 聚合函数:
- 分页和排序:
- 模型简介:创建模型类并继承
Model
,并设置适当的字段和关系: - 查询数据:
- 自定义查询:
- 批量操作:
- 删除数据:
- 模版结构:使用
@section
和@extends
来创建模板: - 模板变量传递:通过控制器传递数据并在视图中使用:
- 模板控制语法:
- URL 生成:通过路由名称或方法生成链接:
$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 ORM
Eloquent 是 Laravel 标准的 ORM,可以通过定义模型来简化数据库操作。以下是使用 Eloquent 的常见操作:
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 模板引擎
Blade 是 Laravel 的模板引擎,支持模版继承、布局和变量传递。以下是 Blade 的常用语法:
@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 开发中高效地与数据库交互,充分发挥框架的优势。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月20日 02时16分29秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leaflet流入流出迁徙图(canvas技术)(leaflet篇.72)
2023-01-30
leaflet流入迁徙图(canvas技术)(leaflet篇.71)
2023-01-30
leaflet点采集与点编辑(leaflet篇.5)
2023-01-30
leaflet百度坐标转天地图坐标(bd09转大地2000)(leaflet篇.56)
2023-01-30
leaflet监听地图(移动一段距离后发起请求)(leaflet篇.21)
2023-01-30
leaflet线段中间叠加内容(虚线)(leaflet篇.61)
2023-01-30
leaflet线采集与线编辑(leaflet篇.6)
2023-01-30
leaflet绘制飞地(leaflet篇.66)
2023-01-30
leaflet聚合图(leaflet篇.11)
2023-01-30
leaflet聚合图(大数据版)(leaflet篇.19)
2023-01-30
leaflet聚合图(自定义样式版)(leaflet篇.26)
2023-01-30
leaflet自定义地图样式地图(插件实现)(leaflet篇.18)
2023-01-30
leaflet虚线(leaflet篇.60)
2023-01-30
leaflet蜂巢图(leaflet篇.15)
2023-01-30
leaflet计算点离某个区域比较近(leaflet篇.78)
2023-01-30
leaflet轨迹线(leaflet篇.58)
2023-01-30