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. bus事件总线传值

    import Vue from 'vue'   var bus = new Vue()   export default bus 监听事件: // header组件 <template> ...

  2. postgres 索引

    索引是一种特殊的查询表,可以使用搜索引擎的数据库以加快数据检索.简单地说,索引是表中的数据的一个指针,在一个数据库中的索引是非常相似,如:一本书的目录. 例如,如果想在一本书中引用的所有页面讨论某个话 ...

  3. Shell脚本——for,while,until循环

    1.for循环: 语句格式: for i in 循环判断 do 循环体 done 举例:九九乘法表(for循环版本) #!/bin/bash # Author: Sean Martin # Blog: ...

  4. tomcat启动程序乱码和tomcat启动程序的标题乱码处理

    启动程序运行中的文字乱码: 解决方案: 找到Tomcat目录下conf文件夹中的logging.properties文件, 打开logging.properties文件,找到文件中的java.util ...

  5. Linux FTP 命令全集

    Linux FTP 命令全集 1 前言 下面就所有命令给出解释和例子. 说明:  1. remote-file 指远程文件,即服务器上的文件 2. local-file  指本地文件,即本地机器上的文 ...

  6. Type反射遍历类的属性

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup& ...

  7. MyBatis-04-配置解析

    4.配置解析 1.核心配置文件 mybatis-config.xml MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息 configuration(配置) propertie ...

  8. spring cache会默认使用redis作为缓存吗?

    web项目中,只需要配置 redis 的IP,端口,用户名和密码就可以使用redis作为缓存了,不需要在在java 代码中配置redisConfig,redisConfig只是作为缓存配置的辅助,比如 ...

  9. ACID理解

    数据库事物的4个特性. A原子性:多次操作要么全部成功,要么全部失败.undo日志是在事务执行失败的时候撤销对数据库的操作,保证了事务的原子性(Atomicity) C一致性:一致性这个最不好理解.数 ...

  10. java中的“指针”

    java中的"指针" 通常我们说java中没有指针,但是java中的"引用"就相当于指针,只是不称为指针而已. 错误例子 public List<Clus ...