摘要:我們將采用方式完成,在提交保存視頻之前,通過(guò)方式實(shí)現(xiàn)提前于保存視頻之前,保存演員信息。我們?cè)僭跀?shù)據(jù)庫(kù)中確認(rèn)一下下面,我們對(duì)輸入的用戶(hù)姓名進(jìn)行分離。
我們?cè)囍苯釉赟elect中輸入新的演員
點(diǎn)擊保存
如何實(shí)現(xiàn)隨時(shí)在Select中輸入新的演員。我們將采用Ajax方式完成,在提交保存視頻之前,通過(guò)Ajax方式實(shí)現(xiàn)提前于保存視頻之前,保存演員信息。這樣就不會(huì)出現(xiàn)上述的錯(cuò)誤。
File:pluginsraiseinfomoviesformwidgetsActorbox.php
public function getSaveValue($actors) { dd($actors); return $actors; }
利用Chrome的開(kāi)發(fā)工具-選擇network,提交表單,我們可以看見(jiàn)getSaveValue函數(shù)獲得傳入的參數(shù)及其內(nèi)部數(shù)據(jù)結(jié)構(gòu),可以看出是一個(gè)數(shù)組,而且傳遞的是輸入的文本,而不是id
下面我們針對(duì)新輸入的值進(jìn)行處理
首先先建立一個(gè)數(shù)組,newArray,判斷值是否是數(shù)字,如果是數(shù)字就保存到newArray中,如果不是數(shù)字,則需要新建一個(gè)Actor,這里我們模擬一個(gè)name和lastname,保存這個(gè)actor,然后把保存的這個(gè)actor的id放到newArray中:
File:pluginsraiseinfomoviesformwidgetsActorbox.php
public function getSaveValue($actors) { // 聲明一個(gè)數(shù)組 $newArray = []; foreach($actors as $actorID){ // 檢查是否是數(shù)字 if(!is_numeric($actorID)){ // 如果不是數(shù)字,則新建一個(gè)actor $newActor = new Actor; $newActor->name = "John"; $newActor->lastname = "Gusak"; $newActor->save(); // 并將新建的actor的id放入新的數(shù)組 $newArray[] = $newActor->id; } else { $newArray[] = $actorID; } } dd($newArray); return $actors; }
保存表單后,我們可以發(fā)現(xiàn),傳入的數(shù)組里面最后就是新插入的actor了。
我們?cè)僭跀?shù)據(jù)庫(kù)中確認(rèn)一下
下面,我們對(duì)輸入的用戶(hù)姓名進(jìn)行分離。
File:pluginsraiseinfomoviesformwidgetsActorbox.php
public function getSaveValue($actors) { // 聲明一個(gè)數(shù)組 $newArray = []; foreach($actors as $actorID){ // 檢查是否是數(shù)字 if(!is_numeric($actorID)){ // 如果不是數(shù)字,則新建一個(gè)actor $newActor = new Actor; $nameAndLastname = explode(" ",$actorID); $newActor->name = $nameAndLastname[0]; $newActor->lastname = $nameAndLastname[1]; $newActor->save(); // 并將新建的actor的id放入新的數(shù)組 $newArray[] = $newActor->id; } else { $newArray[] = $actorID; } } // dd($newArray); return $newArray; }
刷新頁(yè)面,添加新的演員,試著輸入“洪濤 李”,提交表單,就可以保存了。
但是,這個(gè)功能有個(gè)明顯的缺陷,就是如果你提交多次,這個(gè)新的演員,就會(huì)重復(fù)提交多個(gè)新的。只是他們的id不一樣。這個(gè)問(wèn)題其實(shí)很好解決,就是先判斷是否有重名的演員就可以了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28878.html
摘要:下面修改部件,實(shí)現(xiàn)數(shù)據(jù)保存首先需要準(zhǔn)備數(shù)據(jù)變量,給小部件使用接下來(lái)就可以修改插件了現(xiàn)在顯示了演員表中的所有演員的名,但是,沒(méi)有顯示所有演員的姓。 上節(jié)我們只是建立了小插件,但是數(shù)據(jù)是模擬的,我們希望將數(shù)據(jù)存儲(chǔ)起來(lái),那么我們就需要通過(guò)關(guān)聯(lián)表將數(shù)據(jù)與視頻表關(guān)聯(lián)并保存,下面我們打開(kāi)Builder,創(chuàng)建演員表 【database】 showImg(https://segmentfault.co...
摘要:創(chuàng)建插件對(duì)于來(lái)講是很簡(jiǎn)單的事情,因?yàn)椋峁┝艘粋€(gè)插件構(gòu)建器具體步驟這里就不贅述了。安裝完成后,會(huì)出現(xiàn)上圖所示的菜單創(chuàng)建自己的插件的方法是點(diǎn)擊如下圖所示的小按鈕。 創(chuàng)建插件對(duì)于October來(lái)講是很簡(jiǎn)單的事情,因?yàn)椋琌ctober提供了一個(gè)插件構(gòu)建器:RainLab.Builder showImg(https://segmentfault.com/img/bVbcoxL?w=1266&h...
摘要:所以,實(shí)際上我們沒(méi)有辦法保存這些信息。下一節(jié)我們將解決這個(gè)問(wèn)題。 在上一節(jié)中我們是使用repeater字段存儲(chǔ)演員信息的,當(dāng)然這不是最佳的方式,我們希望,演員的信息能夠存儲(chǔ)在單獨(dú)的表中,而且演員的信息可能需要更多的字段進(jìn)行存儲(chǔ)。然后將演員表和其他表進(jìn)行關(guān)聯(lián),就好像視頻表和風(fēng)格表之間的關(guān)聯(lián)一樣。 showImg(https://segmentfault.com/img/bVbcpEb?w...
摘要:字段是采取數(shù)據(jù)存儲(chǔ)多條數(shù)據(jù)的字段。這樣演員信息就被保存到了數(shù)據(jù)庫(kù)的字段中,以格式存儲(chǔ)。查看數(shù)據(jù)庫(kù)即可印證上述的結(jié)論。這里通過(guò)這個(gè)例子只是說(shuō)明這種字段的用法。 Repeater字段是采取Json數(shù)據(jù)存儲(chǔ)多條數(shù)據(jù)的字段。 【Builder】——【Database】——【raiseinfo_movies_】為表添加一個(gè)新的列:actorsshowImg(https://segmentfaul...
摘要:關(guān)系,用于將圖片附加到表上再次刷新頁(yè)面,現(xiàn)在可以進(jìn)行圖片上傳了。如何顯示上傳的圖片簡(jiǎn)介查看視頻頁(yè)面會(huì)出現(xiàn)上面圖片顯示的信息,圖片并沒(méi)有顯示出來(lái)。我們要是顯示這些圖片,則在進(jìn)行代碼修改圖集當(dāng)然我們可以使用插件進(jìn)行顯示和展示。 這一部分我們將為影片創(chuàng)建圖片和圖片庫(kù)首先我們將分頁(yè)改為每頁(yè)10個(gè)影片 showImg(https://segmentfault.com/img/bVbco9R?w=...
閱讀 2950·2021-11-24 09:39
閱讀 2858·2021-09-29 09:34
閱讀 3549·2021-09-24 10:23
閱讀 1731·2021-09-22 15:41
閱讀 1690·2019-08-30 15:55
閱讀 3506·2019-08-30 13:58
閱讀 2614·2019-08-30 13:11
閱讀 1662·2019-08-29 12:31