Mysql Eloquent 模型

新建Model 对应 表前缀 + 类名称 + s

namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model{
//对应 表前缀 + members
}

获取所有记录

$users = Member::all();

根据主键获取一条记录

//默认返回Obj类型数据
$user = Member::find(1); //返回Array类型数据
$member = App\Member::find(10)->toArray(); //返回Json类型数据
$member = App\Member::find(10)->toJson(); //统计
$member = App\Member::whereRaw('id < 25 and badges = 20')->count();

复合查询1

插入原生sql

$db_raw_str = "
sum(scan_sum) AS scan_sum,
sum(scan_count) AS scan_count,
sum(new_user) AS new_user_count,
sum(active_user) AS active_user_count
";
->select(DB::raw($db_raw_str))

构造where or条件

$values = ->where(function ($query)use ($search_value) {
$query->where('key1','LIKE',"%{$search_value}%")
->orWhere('key2','LIKE',"%{$search_value}%")
->orWhere('key3','LIKE',"%{$search_value}%");
});

偏移

->offset($offset)
->limit($pagesize);

转换成Array数组

->toArray();

构造where与条件

$where_condition = array(
['company_id','=',$company_id],
['report_date','>=',$start_at],
['report_date','<=',$end_at],
); ->where($where_condition);

复合查询2

$member = App\Member::where('id','=',4)
->where('email','=','sdra.m16@163.co')
->where('badges','=',3)
->select('name','email','phone','badges')
->orwhere('phone','=','18915581119')
->orWhere(function($query){
$query->where('badges','>',10)
->whereNotNull('create_at');
})
->groupBy('phone')
->orderBy('update_at', 'desc')
->limit(3)
->get(); //对应sql语句
SELECT
`name`,
`email`,
`phone`,
`badges`
FROM
`crm_members`
WHERE
`id` = 4
AND `email` = 'sdra.m16@163.com'
AND `badges` = 3
OR `phone` = '18915581119'
OR (
`badges` > 10
AND `create_at` IS NOT NULL
)
GROUP BY
`phone`
ORDER BY
`update_at` DESC
LIMIT 3

插入数据 updated_at created_at 为默认自动添加的字段

$user = new App\User();

$user->name = 'guolin';
$user->email = 'guolin@163.com';
$user->password = '1111111'; $rs = $user->save();
//返回bool(true)表示插入成功 //对应sql语句
INSERT INTO `crm_users` (
`name`,
`email`,
`password`,
`updated_at`,
`created_at`
)
VALUES
(
'guolin',
'guolin@163.com',
'1111111',
'2018-02-01 14:33:21',
'2018-02-01 14:33:21'
)

更新数据

$rs = App\Member::where('id', '<', 10)
->update(array('email' => 'guolin@163.com','level'=>2));
//返回受影响的行数 //对应的sql语句
UPDATE `crm_members`
SET `email` = 'guolin@163.com',
`level` = 2,
`updated_at` = '2017-03-01 14:51:20'
WHERE
`id` < 10

删除数据

//第一种方式
$rs = App\User::destroy(array(1, 2));
//返回受影响的行数 //对应的sql
delete from `crm_users` where `id` = 1
delete from `crm_users` where `id` = 2 //第二种方式
$rs = App\User::where('id', '>', 1)->delete();
//返回受影响的行数
delete from `crm_users` where `id` > 1

Session

Session::get('user');
Session::set('test','test value');
Session::remove('user');
Session::clear();
Session::all();

返回数据

返回json文件

$return_value = array(
'code' =>config('statuscode.success'),
'message' =>'get actBasic success',
'result' =>array(
'items' =>$value['items']
),
'page' =>array(
'current' =>$value['current'],
'pagesize' =>$value['pagesize'],
'total' =>$value['total'],
)
); return response()->json($return_value);

返回jsonp文件

response()->jsonp($callback, $data = []);

laravel使用总结(二)的更多相关文章

  1. Laravel 5.2 二、HTTP路由、创建控制器 与 资源路由

    一.HTTP路由 所有路由都定义在 App\Providers\RouteServiceProvider 类载入的 app/Http/routes.php文件中. 1. 基本路由 简单的 Larave ...

  2. laravel框架总结(二) -- blade模板引擎

    ## 1.基本用法 ##情形1 $name = laravel5 <div class="title"> {{$name}} {{$name}}</div> ...

  3. 最适合入门的Laravel中级教程(二)用户认证

    之前的初级教程主要是学习简单的增删改查: 接着的中级教程的目标是在初级教程的基础上能写出更复杂更健壮的程序: 我们先来学习 laravel 的用户认证功能: 在现代网站中基本都有用户系统: 而我们每开 ...

  4. laravel学习笔记(二)

    路由 HTTP方法:支持http1.1中所有类型传参方式,get,post,put,delete,options,patch Route::get($url,$callback); 路由参数: Rou ...

  5. [Laravel框架学习二]:Laravel的CURD和查询构造器的CURD,以及聚合函数

    public function index() { //return Member::getMember();//这是调用模型的方法 return view('lpc',[ 'age'=>18, ...

  6. laravel学习笔记二

    代码编写提示工具

  7. Laravel入门及实践,快速上手ThinkSNS+二次开发

    温馨提示: l 本文纯干货,文字和代码居多,且适合零基础Laravel学习者: l 本文会新建一个名为 blog 的 Laravel 程序,这是一个非常简单的博客. l  欢迎随时关注ThinkSNS ...

  8. 使用 Composer 安装 Laravel 框架

    前言: 1. Composer 安装 Laravel 有两种方式: 第一种是通过 Composer 的 create-project 命令安装 Laravel 框架, 第二种是先通过 Composer ...

  9. Laravel 框架 基础(一)

    Laravel 框架 laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持.隐式模型绑定.简化 Eloquent 全局作用域.可选择的认证脚手架.中间件组. ...

  10. 使用 Swoole 来加速 Laravel应用

    Swoole 是为 PHP 开发的生产级异步编程框架. 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTT ...

随机推荐

  1. Single-use Stones Codeforces - 965D

    https://codeforces.com/contest/965/problem/D 太神仙了...比E难啊.. 首先呢,根据题意,可以很容易的建出一个最大流模型 就是每个位置建一条边,容量限制为 ...

  2. TI德州芯片TLV系列和TPS系列芯片区别(转)

    TLV和TPS一般会有pin to pin的对应型号: 一般来讲,TPS精度.准确度和性能会好一些,所以价钱要贵一些: 对应TLV就是一样可以实现上述功能,但是精度和性能等级是稍微低一点的: 具体选择 ...

  3. echarts 添加Loading 等待。

    capturedsDetailsEcharts: function(id) { if (!id) { id = mini.get("chnNameCaptureds").getVa ...

  4. 安卓6.0之前的系统 判断app是否有录音权限

    public static synchronized boolean isVoicePermission() { AudioRecord record = null; try { record = n ...

  5. 模拟一次CSRF(跨站请求伪造)例子,适合新手

    GET请求伪造 有一个论坛网站,网站有一个可以关注用户的接口,但是必须登录的用户才可以关注其他用户. 这个网站的网站是www.a.com 有一天有一个程序员想提高自己的知名度,决定利用CSRF让大家关 ...

  6. C++拾遗(二)——初窥标准库类型

    本篇博文的开始,先介绍一道书上看到的智力题:有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸.有一台称重精准的天平,只是用一次天平的情况下如何找出比较重的那瓶药丸? 好了,直 ...

  7. 浅谈table和DIV网页布局

    DIV+CSS是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DI ...

  8. c#网站对服务器的数据库的备份与还原

    在网站上备份数据库 1.前台页面 <div> 需要备份的文件名:<asp:TextBox ID="bfFile" runat="server" ...

  9. Monkey安装和使用介绍

    安装步骤1)安装sdk环境在系统环境变量中配置 ANDROID_HOMED:\sdk PATH%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%A ...

  10. 当ThreadLocal碰上线程池

    ThreadLocal使用 ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到s ...