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