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