基本概念和概述
1>StdClass 对象=>基础的对象
2>Eloquent 模型对象(Model 对象)=>和模型相关的类对象
3>Eloquent 集合=>可以简单理解为对象数组,里面的每一个元素都是一个Model 对象
4>普通查询构造器返回的是StcClass对象或者是由基础对象组成的数组
5>Eloquent ORM返回的是 Eloquent对象(和模型相关的)或者是由模型对象组成的集合
   

注意:下面基于laravel5.2版本,5.3版本中,查询构造器将返回 Illuminate\Support\Collection 实例,而不再是简单的数组。这使得通过查询构造器和 Eloquent 方式返回的数据类型保持一致。

1 普通查询构造器的方法和返回值

1.1 $test = DB::table('dialog_information')->first();
返回值:这个方法会返回单个 StdClass 对象(基础的对象)
 
1.2 $test = DB::table('dialog_information')->get();
返回值: 由基础对象组成的数组,其中每一个结果都是 PHP StdClass 对象(基础的对象)
 

2 Eloquent ORM 的方法和返回值

2.1 $list = Dialog::first();
返回值:Eloquent对象,(Model对象)
 
2.2 $list = Dialog::find(1);
返回值:Eloquent对象(Model对象)
 
2.3 $list = Dialog::get();
返回值:eloquent:集合,可以简单理解为对象数组,里面的每一个元素都是一个Model对象.
 
2.4 $list = Dialog::all();
返回值:eloquent:集合,可以简单理解为对象数组,里面的每一个元素都是一个Model对象.
 
2.5 create方法
$input = ['goods_id'=>1,'buyer_id'=>1,'seller_id'=>1];
$result = Dialog ::create($input);
dd($result);
返回值:Model对象
 
2.6 save方法
//save 返回真假
$dialog = new Dialog();
$dialog->goods_id = 1;
$dialog->buyer_id = 2;
$dialog->seller_id = 3;
$result = $dialog->save();
 
2.7 insert 返回真假
$data = array(array('goods_id'=>1,'buyer_id'=>1,'seller_id'=>1),array('goods_id'=>2,'buyer_id'=>2,'seller_id'=>2));
$result = Dialog::insert($data);
 
2.8 delete 返回真假
$dialog = Dialog::find(10);
$result = $dialog->delete();
 
2.9 destroy 返回删除条数
$result = Dialog::destroy([11,12]);
 
2.10 delete和where使用 返回删除条数
$result = Dialog::where('id', '>', 10)->delete();
 
2.11 update 返回更新条数
$result = Dialog::where('id', '>', 10)->update(['seller_id'=>3]);
 
 
 
 
分析Model对象
 
$account = Users::find(1)->account;
$account->newAttr = 'test';
$account->table = 'testTable';
var_dump($account->primaryKey);
dd($account);
 
 

laravel5.2总结--返回值的更多相关文章

  1. socket读写返回值的处理

    在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...

  2. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  3. 由Dapper QueryMultiple 返回数据的问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值的顺序

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapp ...

  4. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  5. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

  6. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  7. 支持多返回值存储过程的SqlHelper

    public readonly string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionS ...

  8. sql语句返回值的问题

    由于执行sql语句的时候执行成功或者失败会返回执行的影响函数,用list是因为查询的结果可能为null也可能set后放到集合里去: 所以返回值类型用int

  9. JsonResult作为Action返回值时的错误

    JsonResult作为Action返回值时的错误   System.InvalidOperationException: This request has been blocked because ...

随机推荐

  1. spring学习十三

    1: RESTful URL : 域和端口 / servlet / 资源 / 参数id 2:  静态资源访问处理? 采用RESTful架构后,需要将web.xml中控制器拦截的请求设置为/,这样会将c ...

  2. Python 标准库 -> Pprint 模块 -> 用于打印 Python 数据结构

    使用 pprint 模块 pprint 模块( pretty printer ) 用于打印 Python 数据结构. 当你在命令行下打印特定数据结构时你会发现它很有用(输出格式比较整齐, 便于阅读). ...

  3. 问题:C#控制台;结果:C#限制程序只能运行一個实例 (防多开)

    C# Console类的具体用法 作者: 字体:[增加 减小] 类型:转载 时间:2013-03-08 这篇文章主要介绍C# Console类的具体用法,需要的朋友可以参考下   Console.Wr ...

  4. JMS编程模型

    (1) ConnectionFactory创建Connection对象的工厂,针对两种不同的jms消息模型,分别有QueueConnectionFactory和TopicConnectionFacto ...

  5. C++——override

    override关键字作用: 如果派生类在虚函数声明时使用了override描述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译.举例子说明 struct Base { virtual ...

  6. 吐槽下linq to sql的分页功能

    在调试程序的时候发现一个非常奇怪的问题: 用使用linq分页,分页到第二页的时候,第二页里面有第一页里出现的数据,开始还以为是. linq语句写的有问题,调试半天,无解.后来发现是因为没有排序的缘故. ...

  7. go 语言介绍

    特点1. 静态类型,编译开源语言 2. 脚本化的语法,支持多种编程范式(函数式,面向对象) 3. 原生,给力的并发支持并发编程 Go语言的优势: 1.脚本化的语法:开发效率高,容易上手 2.静态类型+ ...

  8. Angular04 组件动态地从外部接收值、在组件中使用组件

    一.组件从外部接收值 1 修改组件的ts文件,让组件的属性可以从外部接收值 1.1 导入Input注解对象 1.2 在属性变量前面添加 @Input() 注解 1.3 去掉构造器中的属性变量赋值语句 ...

  9. ReentrantLock简单实现2

    ReentrantLock: /** * ReentrantLock测试逻辑类 */ public class MyService { private Lock lock = new Reentran ...

  10. poj3557 Map Generator

    传送门 题目大意 给定两个数n,p;表示n个点中任意两点连边的概率为p,求生成的图是个连通块的概率 分析 我们发现直接求产生联通块的概率并不容易,于是我们转而考虑计算不能生成联通块的概率,公式如下: ...