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爬坑杂记的更多相关文章

  1. legend3---5、lavarel爬坑杂记

    legend3---5.lavarel爬坑杂记 一.总结 一句话总结: 边做边学,变学边做,可能会节约很多时间,熟悉的就跳着看,不熟悉的就慢慢看 1.如何tags表中的主键是t_id而非id,如何使用 ...

  2. hdjs---1、hdjs爬坑杂记

    hdjs---1.hdjs爬坑杂记 一.总结 一句话总结: 对hdjs这种文档和完善都不是很好的插件,应该先在项目的空页面试,成功后再用到用了框架的项目中 1.hdjs4.0.18引入select2? ...

  3. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  4. 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

    针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...

  5. Android爬坑之路

    做了那么久前端,现在终于可以回到我的老本行, 今天我用了一天的时间配置里Android开发环境,mac和windows双平台,eclipse和IDEA双平台,别问为什么,我就喜欢,中间大坑不断,再加上 ...

  6. kali linux安装virtualbox虚拟机之爬坑经历

    很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...

  7. 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历

    项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...

  8. AngularJs (二) 搭建Deployd 服务爬坑

    Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...

  9. 前端工作日常爬坑之——单页面微信开发Jssdk相关,以及jssdk图片直传自己服务器的实现。

    日常爬坑 遇到的情况大致说明: 项目基于Vue2全家桶实现,vue-router控制前端路由,路由模式是History(主要是领导追求太高,觉得hash带#号太丑,然后遇到了小坑...),主要是服务于 ...

随机推荐

  1. 1 .net 用事物提交执行存储过程

    public static void delModelReturn(string performanceId,DateTime? effectiveDate=null) { using (SqlCon ...

  2. 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理

    Session用于保存每个用户的专用信息. 每个客户端用户访问时,服务器都为每个用户分配一个唯一的会话ID(Session ID) . 她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右) ...

  3. 短信对接——一种jdbc链接运用

    package sms; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamRead ...

  4. Python自制小时钟,并转换为exe可执行程序详解

    一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ...

  5. linux命令详解——sed

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:          se ...

  6. python list按字典的key值排序

    方法1: result_list = sorted(origin_list, key=lambda e: e.__getitem__('order_key')) 方法2: import operato ...

  7. (备忘)Nginx中文手册(技术指南第二版)

    Nginx 常见应用技术指南[Nginx Tips] 第二版 目 录 一. Nginx 基础知识二. Nginx 安装及调试三. Nginx Rewrite四. Nginx Redirect五. Ng ...

  8. Java 通过Math.random() 生成6位随机数

    public static void main(String[] args) { String sjs=""; for (int i = 0; i < 6; i++) { i ...

  9. GridView 二维排布

    与ListView一维排布相对 public class MainActivity extends Activity implements AdapterView.OnItemClickListene ...

  10. Hadoop_06_Hadoop的HDFS的概念和特性

    1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...