legend3---12、DB::table('user_questions')和UserQuestion查询的结果的格式不一样
legend3---12、DB::table('user_questions')和UserQuestion查询的结果的格式不一样
一、总结
一句话总结:
推荐使用模型查找的方式,可以直接数组方式访问:两种方式得到的数据是一样的,数据的格式不一样
laravel中用模型(DB::table('user_questions')->where('uq_collected',1))和用普通数据库查询(UserQuestion::where('uq_u_id',$u_id))到的结构的数据格式是不一样的
1、simplePaginate()的作用是什么:$user = DB::table('users')->simplePaginate(15)?
只需要简单的显示“上一页”和“下一页”链接
如果你只需要简单的显示“上一页”和“下一页”链接,你可以选择使用 simplePaginate 方法来执行一个有效的查询。这对于一些大型的数据库在视图中不需要显示每一页的链接时非常有效:
2、因为数据库查询的隔断(或者页面需要分页的情况很多),不方便直接分页,那么合理的操作是什么?
手动分页:才用ajax+vue的方式:就是麻烦了点
3、向页面传递json数据的时候,要用{!! $name !!},而不能用{{ }}?
因为Blade {{ }} 语句会自动调用 PHP 的 htmlspecialchars 函数防止 XSS 攻击
{{--window.question_list={{json_encode($question_list)}};--}}
window.question_list={!! json_encode($question_list) !!};
laravel
显示未转义数据
默认情况下,Blade {{ }} 语句会自动调用 PHP 的 htmlspecialchars 函数防止 XSS 攻击。不想转义的话,可以使用以下语法:
Hello, {!! $name !!}.
4、json数据可以以数组的方式访问(用数组的方式可以完成键的拼接)?
template v-for="n in 15" v-if="question['bq_1_keyword'+n].length>0"
5、多数据也可以考虑不用分页,ajax动态加载就好了?
像很多都是这样,下拉或者上拉就出新的数据
6、timeline根据不同日期变色如何实现?
先定义好样式的class,比如timeline_color_1,直接到7,比如如果是周二就用timeline_color_2即可
7、评论的回复样式如何做?
回复的评论的样式还是要比最父级评论那条要更加小一点
8、收藏题目的时间轴逻辑如何实现?
(可以先排序)按照题目收藏时间戳,获取那天的开始时间和结束时间,将那一天收藏的题目全部找出来,然后每天的收藏题目按照收藏时间排序就好了
9、用户正在学习的课程 的逻辑如何实现?
就是只要用户点开一个课程的一个视频,那么就算他在学习这个课程
10、用户完成的课程 的逻辑如何实现?
用户完成了课程中视频的50%,并且完成了课程的最后一个视频
二、内容在总结中
1、laravel中用模型(DB::table('user_questions')->where('uq_collected',1))和用普通数据库查询(UserQuestion::where('uq_u_id',$u_id))到的结构的数据格式是不一样的
1、用模型查找
用模型查找
$questions=UserQuestion::where('uq_u_id',$u_id)->where('uq_collected',)->select('blog_questions.*')
->join('blog_questions', 'user_questions.uq_q_id', '=', 'blog_questions.bq_id')
->get();
结果
Collection {# ▼
#items: array: [▼
=> UserQuestion {# ▼
#primaryKey: "uq_id"
#guarded: []
#connection: "mysql"
#table: "user_questions"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage:
+exists: true
+wasRecentlyCreated: false
#attributes: array: [▼
"bq_id" =>
"bq_b_id" =>
"bq_stem" => "5、《超级重要》娱乐的时间看学习视频?"
"bq_stem_info" => ""
"bq_answer_keywords" => "这甚至是一个可以堪比legend2神器的习惯__f_br__"
"bq_answer" => """
<h5>这甚至是一个可以堪比legend2神器的习惯</h5>
<p><br /><br />《超级重要》---能做感悟总结的感悟<br />这样学习效果非常非常好,而且持续时间很长<br />这是我能不能崛起的依据<br />这样我才能提升<br />这样不仅学了,而且给了我很好的编程环境,不断接 ▶
"""
"bq_answer_clue" => """
<p><br /><br />《超级重要》---能做感悟总结的感悟<br />这样学习效果非常非常好,而且持续时间很长<br />这是我能不能崛起的依据<br />这样我才能提升<br />这样不仅学了,而且给了我很好的编程环境,不断接 ▶
"""
"bq_keywords_num" =>
"bq_type" =>
"bq_blog_question_num" =>
"bq_collect_num" =>
"bq_1_keyword1" => "这甚至是一个可以堪比legend2神器的习惯"
"bq_1_keyword2" => ""
"bq_1_keyword3" => ""
"bq_1_keyword4" => ""
"bq_1_keyword5" => ""
"bq_1_keyword6" => ""
"bq_1_keyword7" => ""
"bq_1_keyword8" => ""
"bq_1_keyword9" => ""
"bq_1_keyword10" => ""
"bq_1_keyword11" => ""
"bq_1_keyword12" => ""
"bq_1_keyword13" => ""
"bq_1_keyword14" => ""
"bq_1_keyword15" => ""
"created_at" => null
"updated_at" => null
]
#original: array: [▶]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
}
=> UserQuestion {# ▶}
]
}
2、 普通数据库方式查找
普通数据库方式查找
$questions=DB::table('user_questions')->where('uq_u_id',$u_id)->where('uq_collected',)->select('blog_questions.*')
->join('blog_questions', 'user_questions.uq_q_id', '=', 'blog_questions.bq_id')
->get();
结果
结果
Collection {# ▼
#items: array: [▼
=> {# ▼
+"bq_id":
+"bq_b_id":
+"bq_stem": "5、《超级重要》娱乐的时间看学习视频?"
+"bq_stem_info": ""
+"bq_answer_keywords": "这甚至是一个可以堪比legend2神器的习惯__f_br__"
+"bq_answer": """
<h5>这甚至是一个可以堪比legend2神器的习惯</h5>
<p><br /><br />《超级重要》---能做感悟总结的感悟<br />这样学习效果非常非常好,而且持续时间很长<br />这是我能不能崛起的依据<br />这样我才能提升<br />这样不仅学了,而且给了我很好的编程环境,不断接 ▶
"""
+"bq_answer_clue": """
<p><br /><br />《超级重要》---能做感悟总结的感悟<br />这样学习效果非常非常好,而且持续时间很长<br />这是我能不能崛起的依据<br />这样我才能提升<br />这样不仅学了,而且给了我很好的编程环境,不断接 ▶
"""
+"bq_keywords_num":
+"bq_type":
+"bq_blog_question_num":
+"bq_collect_num":
+"bq_1_keyword1": "这甚至是一个可以堪比legend2神器的习惯"
+"bq_1_keyword2": ""
+"bq_1_keyword3": ""
+"bq_1_keyword4": ""
+"bq_1_keyword5": ""
+"bq_1_keyword6": ""
+"bq_1_keyword7": ""
+"bq_1_keyword8": ""
+"bq_1_keyword9": ""
+"bq_1_keyword10": ""
+"bq_1_keyword11": ""
+"bq_1_keyword12": ""
+"bq_1_keyword13": ""
+"bq_1_keyword14": ""
+"bq_1_keyword15": ""
+"created_at": null
+"updated_at": null
}
=> {# ▶}
]
}
结果是一样的,但是结果的数据格式不一样,普通数据库方式查找的中间少了一层

legend3---12、DB::table('user_questions')和UserQuestion查询的结果的格式不一样的更多相关文章
- 黄聪:Discuz!X/数据库操作方法、DB::table、C::t
函数 功能 DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄, DB::delete($tablename, 条件,条数限制) 删除表中的数据 DB::insert($ ...
- 【laravel5.4】DB::table的操作
基于laravel5.4版本的查询构造器的简单几个操作:(相对于TP3.2版本) //获取指定多行多列,二维,,对象 [select] $names = ''; $names = DB::table( ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
- Import Data from *.xlsx file to DB Table through OAF page(转)
Use Poi.jar Import Data from *.xlsx file to DB Table through OAF page Use Jxl.jar Import Data from ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- SQL Server中Table字典数据的查询SQL示例代码
SQL Server中Table字典数据的查询SQL示例代码 前言 在数据库系统原理与设计(第3版)教科书中这样写道: 数据库包含4类数据: 1.用户数据 2.元数据 3.索引 4.应用元数据 其中, ...
- SQL Server中将查询结果转换为Json格式脚本
这篇文章主要介绍了SQL Server中将查询结果转换为Json格式脚本分享,本文直接给出实现代码,需要的朋友可以参考下 原文地址:http://www.jb51.net/article/61462. ...
- Django 1.8.11 查询数据库返回JSON格式数据
Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...
- DB 注意事项 优化数据库查询
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
随机推荐
- 关于SpringBoot的自动配置和启动过程
一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...
- ABAP下载的病毒扫描Virus Scan
当我使用CL_HTTP_ENTITY=>IF_HTTP_ENTITY~GET_DATA从网络下载数据时,遇到异常CX_VSI: 错误原因是数据从网络下载到Netweaver服务器上之后,在服务器 ...
- Image Processing and Computer Vision_Review:Local Invariant Feature Detectors: A Survey——2007.11
翻译 局部不变特征探测器:一项调查 摘要 -在本次调查中,我们概述了不变兴趣点探测器,它们如何随着时间的推移而发展,它们如何工作,以及它们各自的优点和缺点.我们首先定义理想局部特征检测器的属性.接下来 ...
- 每日命令:(7)mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- sklearn--回归
一.线性回归 LinearRegression类就是我们平时所说的普通线性回归,它的损失函数如下所示: 对于这个损失函数,一般有梯度下降法和最小二乘法两种极小化损失函数的优化方法,而scikit-le ...
- Js操作DOM元素及获取浏览器高宽
在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM ...
- javascript只弹出一次框 再次刷新不弹出
.打开页面自动弹出 当关闭弹框的时候 设置cookie生存时间 再次刷新页面判断cookie是否失效 <html> <head> <meta charset=&qu ...
- 【pip】使用
错误及解决 install 1.pip install aip 报错[Windows,python3.6] ERROR: Could not find a version that satisfies ...
- HTML5新特性——1 HTML5音频
注意:<source>同一个音乐可以添加不同格式的音频,这样就可以满足不同浏览器都能够正常播放,兼容不同浏览器. 代码示例: <!doctype html> <html ...
- JavaScript教程——函数(arguments 对象)
arguments 对象 定义 由于 JavaScript 允许函数有不定数目的参数,所以需要一种机制,可以在函数体内部读取所有参数.这就是arguments对象的由来. arguments对象包含了 ...