legend3---6、legend3爬坑杂记
生活随笔
收集整理的這篇文章主要介紹了
legend3---6、legend3爬坑杂记
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
legend3---6、legend3爬坑雜記
一、總結(jié)
一句話總結(jié):
學(xué)東西不做項(xiàng)目也學(xué)不到深處,其實(shí)也就是學(xué)了沒理解透,
?
1、lavarel中模型關(guān)聯(lián)可以用的實(shí)質(zhì)是?
lavarel在數(shù)據(jù)庫(kù)中插入數(shù)據(jù)之后,還從數(shù)據(jù)庫(kù)返回了插入的那條數(shù)據(jù),所以有我們需要的數(shù)據(jù)插入的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());結(jié)果 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中模型關(guān)聯(lián)最大的作用是什么?
精簡(jiǎn)代碼,加快開發(fā)效率
?
3、lavarel中的模型中的create方法的作用是什么?
批量賦值,默認(rèn)情況下使用模型插入數(shù)據(jù)的時(shí)候只能一個(gè)一個(gè)的賦值
批量賦值 你也可以使用 create 方法來保存新模型, 方法會(huì)返回模型實(shí)例。不過,在使用之前,你需要先在模型上指定 fillable 或 guarded 屬性,因?yàn)樗械?Eloquent 模型在默認(rèn)情況下都不能進(jìn)行批量賦值。當(dāng)我們?cè)O(shè)置好批量賦值的屬性,就可以通過 create 方法插入新數(shù)據(jù)。 create 方法將返回已保存的模型實(shí)例: $flight = App\Flight::create(['name' => 'Flight 10']);?
?
4、lavarel自動(dòng)事務(wù)?
DB::transaction方法里面是閉包,參數(shù)用use傳進(jìn)去
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、插入標(biāo)簽課程數(shù)據(jù)--關(guān)系表$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數(shù)據(jù)過來的時(shí)候是json數(shù)據(jù),true表示轉(zhuǎn)成數(shù)組而非對(duì)象$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:上一個(gè)url
_flash:閃存信息
?
?
6、模型一對(duì)多關(guān)系:查找視頻所屬的課程的時(shí)候出現(xiàn)Call to a member function lesson() on string錯(cuò)誤?
模型關(guān)聯(lián)的方法頭應(yīng)該是集合而不是字符串:所以{{$d['v_title']->lesson()->find(1)}}錯(cuò)誤
正確應(yīng)該為:{{$d->lesson()->find(1)}}
?
?
7、用一對(duì)多(反向)的時(shí)候,模型關(guān)系參數(shù)書寫錯(cuò)誤?
真的可以仔細(xì)閱讀文檔,明確參數(shù)含義
//視頻屬于課程 public function lesson(){return $this->belongsTo('App\Model\Lesson', 'v_l_id','l_id'); }?
?
?
8、在課程和視頻的一對(duì)多中,如何通過視頻獲取對(duì)應(yīng)課程的名稱?
直接動(dòng)態(tài)屬性而非方法的形式:{{$d->lesson->l_title}}
?
9、lavarel視圖中一行內(nèi)的if怎么寫?
select中判斷是否被選中:@if($video['v_l_id']==$l['l_id']) selected @endif
?
10、Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 原因?
一般是路由錯(cuò)誤,比如修改操作的請(qǐng)求不是PUT方法:@method('PUT')
?
11、模型使用update方式更新(不必用AR模型方式更新)?
$result=Member::where('id','7')->update(['age'=>82']);
?
?
?
二、內(nèi)容在總結(jié)中
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Renyi-Fan/p/11605147.html
總結(jié)
以上是生活随笔為你收集整理的legend3---6、legend3爬坑杂记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑马vue---1-7、vue杂记
- 下一篇: java连接腾讯云上的redis