laravel 数据操作

Posted ForgotTheMemory

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 数据操作相关的知识,希望对你有一定的参考价值。

一、基本概念和概述

① StdClass 对象=>基础的对象
② Eloquent 模型对象(Model 对象)=>和模型相关的类对象
③ Eloquent 集合=>可以简单理解为对象数组,里面的每一个元素都是一个Model 对象
④ 普通查询构造器返回的是StcClass对象或者是由基础对象组成的数组
⑤ Eloquent ORM返回的是 Eloquent对象(和模型相关的)或者是由模型对象组成的集合

二、创建 Mould

 

代码如下

<?php

namespace App\\Models;

use Illuminate\\Database\\Eloquent\\Model;

class Loan extends Model
{
    protected $fillable = [];

    protected $hidden = [];

    /**
     * Controller  与模型关联的表
     * author      Jack
     * version     2018/12/22  14:39
     */
    protected $table = \'loan\';

    /**
     * Controller  指示是否对模型进行时间戳。
     * author      Jack
     * version     2018/12/22  14:39
    */
    public $timestamps = false;

    /**
     * Controller  模型的日期列的存储格式。
     * author      Jack
     * version     2018/12/22  14:54
    */
    protected $dateFormat = \'U\';

}

 

三、Eloque 常用数据操作

 A 查询

1) Customer::first(); ① 返回值:对象 ② 返回表中第一条数据

2) Customer::find(1); ① 返回值:对象 ② 返回表中指定id的数据 ③ 必传参数 id

3) Customer::all(); ① 返回值:集合 ② 返回表中所有数据 ③ 集合里面的每一个元素都是一个对象

4) Customer::get(); ① 返回值:集合 ② 返回表中所有数据 ③ 集合里面的每一个元素都是一个对象

B 删除

5) Customer::find(2)->delete(); ① 返回值:truefalse ② 删除指定id的单条数据 ③ 必传参数 id

6) Customer::destroy([1,2]); ① 返回值:删除条数 ②删除指定id的单条或多条数据 ③ 必传参数 id

7) Customer::where(\'id\', \'>\', 1)->delete(); ① 返回值:删除条数

C 保存

8) $customer->save()   

 

9) Customer::insert(array(array(\'\'=>,\'\'=>),......)  ① 返回值:truefalse ② 参数类型数组

D 修改

10) Customer::where(\'id\', \'>\', 10)->update([\'seller_id\'=>3]);① 返回值:修改条数

 

四、可以了解操作

 

① Customer::truncate()                                             清空数据表
② Customer::where(\'id\', \'=\', \'1\')->get(array(\'name\',\'mobile\'));    配合查询条件获取多条数据
③ Customer::pluck(\'mobile\');            返回表中该字段的第一条记录
④ Customer::lists(\'artist\');            返回一列数据 
⑤ Customer::where(\'mobile\', \'=\', \'1308744081\')->toSql();     获取查询的sql语句,仅用于条件,不能用户带get()之类的带查询结果的查询中

注:直接使用return 查询结果为json格式的数据这里使用的User为model名称

 

 A 最普通的条件查询 Customer::where(\'字段名\',\'查询字符\',\'限制条件\')     

 eg:Customer::where(\'name\', \'LIKE\', \'...%\')

 B 多条件查询,使用多个where   

 eg: Customer::where(\'name\', \'LIKE\', \'...%\')->where(\'text\', \'=\', \'中国\')->get();

 C 或查询操作使用orWhere(),使用方法通where

 D 直接用sql语句写查询条件    

 eg:Customer::whereRaw(\'name= ? and title LIKE ?\', array(\'中国\', \'...%\'))
 E 其他查询方法
 whereIn(),whereBetween(),whereNested()子查询,orWhereNested(),whereNotIn(),whereNull(),whereNotNull() 

 F 使用order关键字:

  eg:Customer::where(\'sex\', \'=\', 1)->orderBy(\'age\')->get();   默认asc

  orderBy(\'year\', \'desc\')

 G 限制结果数量 take()方法

eg:Customer::take(2)->get();                          
相当于select * from customer limit 2

 


 

以上是关于laravel 数据操作的主要内容,如果未能解决你的问题,请参考以下文章

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

Laravel基本使用

Laravel 5.8 有条件地插入 sql 片段

Laravel之视图和Blade模板引擎

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程