legend3---6、legend3爬坑杂记
生活随笔
收集整理的這篇文章主要介紹了
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']);
?
?
?
二、內容在總結中
?
?
?
轉載于:https://www.cnblogs.com/Renyi-Fan/p/11605147.html
總結
以上是生活随笔為你收集整理的legend3---6、legend3爬坑杂记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑马vue---1-7、vue杂记
- 下一篇: java连接腾讯云上的redis