博客
关于我
laravel 学习之第一章
阅读量:793 次
发布时间:2023-01-30

本文共 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 开发中高效地与数据库交互,充分发挥框架的优势。

    转载地址:http://kygyk.baihongyu.com/

    你可能感兴趣的文章
    selenium+python之切换窗口
    查看>>
    Find Familiar Service Features in Lightning Experience
    查看>>
    map[]和map.at()取值之间的区别
    查看>>
    VTK:可视化之RandomProbe
    查看>>
    【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
    查看>>
    pair的用法
    查看>>
    javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
    查看>>
    echarts 基本图表开发小结
    查看>>
    TreeSet、TreeMap
    查看>>
    GitHub上传时,项目在已有文档时直接push出现错误解决方案
    查看>>
    嵌入式系统试题库(CSU)
    查看>>
    00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
    查看>>
    00013.05 字符串比较
    查看>>
    UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
    查看>>
    cmd编译.java文件 : java:720: 错误: 编码GBK的不可映射字符 Why ? ? ? ?
    查看>>
    Android 架构组件 – 让天下没有难做的 App
    查看>>
    能解决数据可视化大屏需求的3款可视化工具
    查看>>
    第01问:MySQL 一次 insert 刷几次盘?
    查看>>
    解决微信小程序项目导入的问题:app.json 未找到、 __wxConfig is not defined
    查看>>
    非迅捷|PDF、Word、PPT、Excel、图片等互相在线转换:免费、简单、快速、零错误、无套路
    查看>>