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]);
    1. 查询数据:
    2. $totalStudents = DB::select('select * from student');
      1. 更新数据:
      2. $num = DB::update('update student set age = ? where name = ?', [34, 'helen']);
        1. 删除数据:
        2. $num = DB::delete('delete from student where id > ?', [1]);

          查询构造器

          查询构造器提供了更强大的查询功能,支持复杂的逻辑条件和数据操作。以下是一些常见操作示例:

        3. 新增数据
        4. $bool = DB::table('student')->insert(['name' => 'michael', 'age' => 1]);
          1. 获取数据
          2. $students = DB::table('student')->get();
            1. 查询数据
            2. $student = DB::table('student')->where(['id' => 12])->get();
              1. 聚合函数
              2. $count = DB::table('student')->count();$maxAge = DB::table('student')->max('age');
                1. 分页和排序
                2. $students = DB::table('student')->orderBy('id', 'desc')->chunk(3, function ($std) {    var_dump($std);});

                  Eloquent ORM

                  Eloquent 是 Laravel 标准的 ORM,可以通过定义模型来简化数据库操作。以下是使用 Eloquent 的常见操作:

                3. 模型简介
                  创建模型类并继承Model,并设置适当的字段和关系:
                4. namespace App\Models;use Illuminate\Database\Eloquent\Model;class Student extends Model{    protected $table = 'students';    protected $primaryKey = 'id';}
                  1. 查询数据
                  2. $students = Student::all();$student = Student::find(12);
                    1. 自定义查询
                    2. $student = Student::where('id', '>', 10)->orderBy('age', 'asc')->first();
                      1. 批量操作
                      2. $student = Student::create(['name' => 'Leon', 'age' => 16]);
                        1. 删除数据
                        2. $student = Student::find(12)->delete();

                          Blade 模板引擎

                          Blade 是 Laravel 的模板引擎,支持模版继承、布局和变量传递。以下是 Blade 的常用语法:

                        3. 模版结构
                          使用@section@extends来创建模板:
                        4. @include('member.layouts')@section('sidebar')
                          @show@yield('content')
                          @stop
                          1. 模板变量传递
                            通过控制器传递数据并在视图中使用:
                          2. return view('student.show', ['name' => 'Leon']);
                            1. 模板控制语法
                            2. @if($id == 'Leon')    // 做一些事情@endif
                              1. URL 生成
                                通过路由名称或方法生成链接:
                              2. {{ url('student.show') }}

                                通过合理使用DB facade、查询构造器和Eloquent ORM,可以在 Laravel 开发中高效地与数据库交互,充分发挥框架的优势。

    上一篇:laravel 学习之第二章
    下一篇:Laravel 多环境配置

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月20日 02时16分29秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章