legend3---14、所有增删改的前置操作可以是什么
legend3---14、所有增删改的前置操作可以是什么
一、总结
一句话总结:
先查询数据有没有,这样既起到了服务端验证的功能,也避免了很多增删改可能的错误
1、用户收藏视频,收藏课程有必要建立用户收藏视频表和用户收藏课程表么(已经有了用户课程表和用户视频表的基础上)?
没有必要:比如说课程,因为已经有了用户课程表,那么用户和课程的所有逻辑都可以在这个表里面,而收藏也仅仅只是一种交互逻辑
2、视图共用模块注意?
让标识唯一就好,共用模块里面内部的元素可以不用太区分
3、页面中的js的注释,不要写用户可以通过网页源代码看到的注释?
不要用//和/**/,可以用{{--课程的点赞操作--}}
4、从数据表中获取单行或单个值?
单行:first():DB::table('users')->where('name', 'John')->first()
单个值:value('email'):DB::table('users')->where('name', 'John')->value('email')
如果你只需要从数据表中获取一行数据,你可以使用 first 方法。该方法返回一个 StdClass 对象:
$user = DB::table('users')->where('name', 'John')->first();
echo $user->name;
如果你甚至不需要整行数据,则可以使用 value 方法从记录中获取单个值。该方法将直接返回该字段的值:
$email = DB::table('users')->where('name', 'John')->value('email');
5、写了sql语句可以跑到数据库里面分析一下语句的效率?
explain语句:explain select count(*) as aggregate from `user_questions` where `uq_u_id` = 1 and `uq_collected` = 1
6、页面中ajax根据板块动态获取板块的数据如何实现?
初始的时候传空数据过来就好(不用查数据库),点到哪一个,那就ajax取哪一个的数据就好
7、SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'cl_u_id' in where clause is ambiguous (SQL:...)?
Integrity constraint violation:完整性约束违反
ambiguous:英 /æmˈbɪɡjuəs/:adj. 模糊不清的
8、php对数组去重?
array_unique()
9、lavarel中表自己连自己?
因为两个相同的表,所以要特别指定 要查找的字段到底是哪个里面的字段
$lesson_comments=CommentLesson::where('pid_comment_lessons.cl_u_id',$u_id)
->orderBy('cl_created_at','desc')->offset($offset)->limit($per_page_item_num)
->join('comment_lessons as pid_comment_lessons', 'comment_lessons.cl_pid', '=', 'pid_comment_lessons.cl_id')
->join('users', 'pid_comment_lessons.cl_u_id', '=', 'users.id')
->join('lessons', 'comment_lessons.cl_l_id', '=', 'lessons.l_id')
->select($select_field)->get();
10、查询用户的所有对课程的评论和回复(查询回复的话需要在where条件里面用join)?
union操作加上表自己连自己,根据不同的情况用不同的字段连user表
数据库里面加个to_u_id字段这样查询操作会变的简单一点
$select_field=['comment_lessons.*','users.name','users.id','lessons.l_title','lessons.l_id'];
//1、这是所有我发的,我回复的或者我评论的:这里我并不需要知道自己的信息
$lesson_comments_active=CommentLesson::where('comment_lessons.cl_u_id',$u_id)
->join('comment_lessons as pid_comment_lessons', 'comment_lessons.cl_pid', '=', 'pid_comment_lessons.cl_id')
->join('users', 'pid_comment_lessons.cl_u_id', '=', 'users.id')
->join('lessons', 'comment_lessons.cl_l_id', '=', 'lessons.l_id')
->select($select_field); //2、这是所有回复我的,我需要知道用户的信息
$lesson_comments=CommentLesson::where('pid_comment_lessons.cl_u_id',$u_id)
->join('comment_lessons as pid_comment_lessons', 'comment_lessons.cl_pid', '=', 'pid_comment_lessons.cl_id')
->join('users', 'comment_lessons.cl_u_id', '=', 'users.id')
->join('lessons', 'comment_lessons.cl_l_id', '=', 'lessons.l_id')
->union($lesson_comments_active)
->orderBy('cl_created_at','desc')->offset($offset)->limit($per_page_item_num)
->select($select_field)->get();
11、videojs中实现过多长时间自动记录播放进度?
用一个定时器,如果视频在播放,定时器就开始走,过三分钟就ajax到服务器
如果暂停或者结束,也直接ajax到服务器,暂停清除定时器,再点开始的时候再重新启动定时器
12、前端页面可以都用vue,会简单方便特别多的?
相对于jquery+vue的ajax方式,vue的方式安全的多
13、Non-static method Illuminate\Database\Eloquent\Model::save() should not be called statically?
$userLesson::save() 改成 $userLesson->save() 即可
二、内容在总结中
legend3---14、所有增删改的前置操作可以是什么的更多相关文章
- JDBC增删改数据库的操作
JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于 ...
- mysql增删改查相关操作
mysql增删改查相关操作 以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧. 1.数据库的授权操作 # mysql -u root -p Ente ...
- 使用DOM进行xml文档的crud(增删改查)操作<操作详解>
很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这 ...
- ssm 框架实现增删改查CRUD操作(Spring + SpringMVC + Mybatis 实现增删改查)
ssm 框架实现增删改查 SpringBoot 项目整合 一.项目准备 1.1 ssm 框架环境搭建 1.2 项目结构图如下 1.3 数据表结构图如下 1.4 运行结果 二.项目实现 1. Emplo ...
- Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
必须的准备工作 一.MySQL的安装.可以参考博文: http://blog.csdn.net/jueblog/article/details/9499245 二.下载 jdbc 驱动.可以从在官网上 ...
- day42 字段的增删改查详细操作
复习 # 1.表的详细操作 create table nt like ot; # 只复制表的结构包括约束 create table nt select * from ot where 1=2; # 复 ...
- MySQL常用增删改查等操作语句
修改数据库的字符集 mysql>use mydb mysql>alter database mydb character set utf8;创建数据库指定数据库的字符集 ...
- BaseDao代码,用于连接数据库实行增删改查等操作
在学习JavaWeb时会用到此代码,用于实行增删改查操作 1 package com.bdqn.dao; import java.sql.Connection; import java.sql.Dri ...
- MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- JS 学习书籍电子版PDF下载
JavaScript权威指南(第6版)(中文版) 链接:https://pan.baidu.com/s/1H1v77UY-yh7oDxonRjd0GA 提取码:r3pu JavaScript DOM编 ...
- drunk_admin_hacking_challenge靶机之旅?
注: 只是记录本人玩的时候发现的新奇点 如果你也想玩且看了这篇文章还是不会,请联系gg 靶机下载地址 https://www.vulnhub.com/entry/drunk-admin-web-h ...
- stm32 ds18b20 温度传感器
相关文章:http://blog.csdn.net/zhangxuechao_/article/details/74991985 举例 void DS18B20_in() { GPIO_InitTyp ...
- Array + two points leetcode.16 - 3Sum Closest
题面 Given an array nums of n integers and an integer target, find three integers in nums such that th ...
- ImportError: No module named yaml
问题: import yaml ImportError: No module named yaml 解决: wget http://pyyaml.org/download/pyyaml/PyYAML- ...
- Spotlights【思维+前缀和优化】
https://blog.csdn.net/mengxiang000000/article/details/53291883 原博客地址 http://codeforces.com/group/1 ...
- selenium 操作多个窗口间切换
#coding=gbk ''' selenium多个窗口间切换 ''' from selenium import webdriver as wd from selenium.webdriver imp ...
- java学习笔记13-重写与重载
重写 重写是子类对父类允许访问的方法实现过程进行重新编写,返回值和参数都不能变. 重写方法不能抛出新的检查异常和比被重写方法更加宽泛的异常 访问权限不能比被重写方法低 声明为final的方法不能被重写 ...
- 玩深度学习选哪块英伟达 GPU?有性价比排名还不够!
本文來源地址:https://www.leiphone.com/news/201705/uo3MgYrFxgdyTRGR.html 与“传统” AI 算法相比,深度学习(DL)的计算性能要求,可以说完 ...
- node 初级概念总结
(1)nodejs跳过了服务器软件 直接充当web服务器,nodejs也没有Web容器 (2)nodejs --- 自身哲学---[花最小的硬件成本,追求更好的并发请求,更高的处理性能] (3)nod ...