legend3---6、legend3爬坑杂记
legend3---6、legend3爬坑杂记
一、总结
一句话总结:
学东西不做项目也学不到深处,其实也就是学了没理解透,
1、lavarel中模型关联可以用的实质是?
lavarel在数据库中插入数据之后,还从数据库返回了插入的那条数据,所以有我们需要的数据插入的id
$lesson['l_title']=$request['l_title'];
$lesson['l_introduce']=$request['l_introduce'];
$lesson['l_preview']=$request['l_preview'];
$lesson['l_is_commend']=$request['l_is_commend'];
$lesson['l_is_hot']=$request['l_is_hot'];
$lesson['l_click']=$request['l_click'];
$lesson->save();
//dd($lesson['l_id']);
dd($lesson->toArray()); 结果
array:9 [▼
"l_title" => "aa"
"l_introduce" => "aa"
"l_preview" => "/images/nopic.jpg"
"l_is_commend" => "0"
"l_is_hot" => "0"
"l_click" => "0"
"updated_at" => "2019-09-28 14:04:26"
"created_at" => "2019-09-28 14:04:26"
"l_id" => 21
]
2、lavarel中模型关联最大的作用是什么?
精简代码,加快开发效率
3、lavarel中的模型中的create方法的作用是什么?
批量赋值,默认情况下使用模型插入数据的时候只能一个一个的赋值
批量赋值
你也可以使用 create 方法来保存新模型, 方法会返回模型实例。不过,在使用之前,你需要先在模型上指定 fillable 或 guarded 属性,因为所有的 Eloquent 模型在默认情况下都不能进行批量赋值。 当我们设置好批量赋值的属性,就可以通过 create 方法插入新数据。 create 方法将返回已保存的模型实例:
$flight = App\Flight::create(['name' => 'Flight 10']);
4、lavarel自动事务?
DB::transaction方法里面是闭包,参数用use传进去
DB::transaction(function () use ($request,$lesson) {
//dd($request->toArray());
$lesson['l_title']=$request['l_title'];
$lesson['l_introduce']=$request['l_introduce'];
$lesson['l_preview']=$request['l_preview'];
$lesson['l_is_commend']=$request['l_is_commend'];
$lesson['l_is_hot']=$request['l_is_hot'];
$lesson['l_click']=$request['l_click'];
$lesson->save();
//dd($lesson['l_id']);
//dd($lesson->toArray());
//2、插入标签课程数据--关系表
$tags=$request['tags'];
foreach ($tags as $tag){
$tag_lesson=[];
$tag_lesson['tl_t_id']=$tag;
//$tag_lesson['tl_l_id']=$lesson['l_id'];
//TagAndLesson::create($tag_lesson);
//dd($tag_lesson);
$lesson->hasManyLessonTags()->create($tag_lesson);
}
//videos数据过来的时候是json数据,true表示转成数组而非对象
$videos=json_decode($request['videos'],true);
//dd($videos);
foreach ($videos as $video){
unset($video['v_id']);
$lesson->videos()->create($video);
// $lesson->videos()->create([
// 'title'=>$video['title'],
// 'path'=>$video['path'],
// ]);
}
});
5、lavarel中常驻session的有用信息有哪些?
|||-begin
array:6 [▼
"nowControllerAction" => "LessonController.index"
"_token" => "NMEDJcOEzZecOtscrKhgaxRtuXbprWGFxGcRz5JP"
"_previous" => array:1 [▼
"url" => "http://legend3.com/admin/lesson"
]
"_flash" => array:2 [▼
"old" => []
"new" => []
]
"login_admin_59ba36addc2b2f9401580f014c7f58ea4e30989d" => 1
"PHPDEBUGBAR_STACK_DATA" => []
]
|||-end
_previous:上一个url
_flash:闪存信息
6、模型一对多关系:查找视频所属的课程的时候出现Call to a member function lesson() on string错误?
模型关联的方法头应该是集合而不是字符串:所以{{$d['v_title']->lesson()->find(1)}}错误
正确应该为:{{$d->lesson()->find(1)}}
7、用一对多(反向)的时候,模型关系参数书写错误?
真的可以仔细阅读文档,明确参数含义
//视频属于课程
public function lesson(){
return $this->belongsTo('App\Model\Lesson', 'v_l_id','l_id');
}
8、在课程和视频的一对多中,如何通过视频获取对应课程的名称?
直接动态属性而非方法的形式:{{$d->lesson->l_title}}
9、lavarel视图中一行内的if怎么写?
select中判断是否被选中:@if($video['v_l_id']==$l['l_id']) selected @endif
10、Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 原因?
一般是路由错误,比如修改操作的请求不是PUT方法:@method('PUT')
11、模型使用update方式更新(不必用AR模型方式更新)?
$result=Member::where('id','7')->update(['age'=>82']);
二、内容在总结中
legend3---6、legend3爬坑杂记的更多相关文章
- legend3---5、lavarel爬坑杂记
legend3---5.lavarel爬坑杂记 一.总结 一句话总结: 边做边学,变学边做,可能会节约很多时间,熟悉的就跳着看,不熟悉的就慢慢看 1.如何tags表中的主键是t_id而非id,如何使用 ...
- hdjs---1、hdjs爬坑杂记
hdjs---1.hdjs爬坑杂记 一.总结 一句话总结: 对hdjs这种文档和完善都不是很好的插件,应该先在项目的空页面试,成功后再用到用了框架的项目中 1.hdjs4.0.18引入select2? ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...
- Android爬坑之路
做了那么久前端,现在终于可以回到我的老本行, 今天我用了一天的时间配置里Android开发环境,mac和windows双平台,eclipse和IDEA双平台,别问为什么,我就喜欢,中间大坑不断,再加上 ...
- kali linux安装virtualbox虚拟机之爬坑经历
很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...
- 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历
项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...
- AngularJs (二) 搭建Deployd 服务爬坑
Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...
- 前端工作日常爬坑之——单页面微信开发Jssdk相关,以及jssdk图片直传自己服务器的实现。
日常爬坑 遇到的情况大致说明: 项目基于Vue2全家桶实现,vue-router控制前端路由,路由模式是History(主要是领导追求太高,觉得hash带#号太丑,然后遇到了小坑...),主要是服务于 ...
随机推荐
- Vue访问权限
设置权限 <script> export default { created(){ if(this.$store.state.userStore.role !== 'manager'){ ...
- #!/usr/bin/node 是什么意思
// 调用系统环境变量中的解释器执行文件 #!/usr/bin/node //如果不是默认安装位置这个地方可能就找不到,那么文件就是报错,所以有了另一种写法 #!/usr/bin/env node
- [LeetCode]1089. Duplicate Zeros
Given a fixed length array arr of integers, duplicate each occurrence of zero, shifting the remainin ...
- 查询表中列转换为json
DECLARE @sql VARCHAR(MAX) SET @sql= (SELECT (select '+'',"'+column_name+'":"''+CAST(' ...
- 怎么提高U盘传输文件的性能?
U盘使用时间久了,其传输复制文件速度就可能会变得有些慢.出现这个问题的原因有很多,除了U盘本身的问题外,也可能会有电脑设置方面的因素在影响.好系统下面就来告诉大家解决U盘传输复制文件速度慢的几个小技巧 ...
- Linux 下幾種網芳/Samba 目錄的 mount 方式
Linux 下幾種網芳/Samba 目錄的 mount 方式,比較新的 Smaba 只能用 cifs 的 mount 方式. [smbmount] smbmount -o username=&qu ...
- Active Directory participation features and security extensions
Participation in the Active Directory Samba 3.0 series, as well as the OS since Windows 2000, is pos ...
- imx6 yocto移植 环境搭建
系统:ubuntu14.04 LTS 切换软件下载源,确保下载资源是最快. 安装必要软件工具: ~$ apt-get install vim ~$ apt-get install openssh-se ...
- redis 的启动、关闭 判断其是否在运行中
#检查后台进程是否正在运行 ps -ef |grep redis ps aux | grep redis #检测6379端口是否在监听 netstat -lntp | grep 6379 #使用配置文 ...
- QTP(11)
练习:录制Flight登录-打开1-10之间随机编号的订单-退出,打开完订单后,退出前,使用msgbox输出“顾客x预定了y从z到w的c类型的k张票!”说明:x是顾客姓名.y是日期.z是FlyFrom ...