fastadmin數(shù)據(jù)庫(kù)后綴為_id的字段,主鍵不是id

fastadmin在一鍵curd時(shí)會(huì)將后綴為_id的字段識(shí)別為表外鍵,在新增記錄時(shí)無論填入任何值都和報(bào)錯(cuò)“xxx_id不能為空”,這是因?yàn)閒astadmin將其識(shí)別為了外鍵在add.html語(yǔ)句中這個(gè)字段的input是這樣的:

Markup

<inputid="c-xxx_id"data-rule="required"data-source="xxx/index"class="form-control selectpage"data-field="name"name="row[xxx_id]"type="text"value="">

其中data-field是我加上去的,這個(gè)字段的默認(rèn)值就是name

以下摘自fastadmin文檔

FastAdmin中的動(dòng)態(tài)下拉列表使用的是優(yōu)秀強(qiáng)大的Selectpage插件來支持,F(xiàn)astAdmin對(duì)其進(jìn)行了二次開發(fā)。

下面介紹一個(gè)最基礎(chǔ)的動(dòng)態(tài)下拉列表示例,如下

其中需要給元素class添加一個(gè)selectpage,其次需要增加一個(gè)data-source="category/selectpage"這個(gè)屬性,category/selectpage為我們控制器提交列表的方法

FastAdmin的Selectpage列表中顯示字段默認(rèn)讀取的是name字段,如果我們返回的列表中不包含name字段,將無法展現(xiàn)下拉列表數(shù)據(jù)。此時(shí)我們需要添加使用data-field="你要顯示的字段"即可。

FastAdmin的Selectpage列表中主鍵字段默認(rèn)讀取的是id字段,如果我們的主鍵不是id字段,則我們可以添加并使用data-primary-key="你的主鍵ID字段"來修改。

所以這里需要將data-field?設(shè)置為正確的字段,這樣就能正常顯示了。

如果需要修改一鍵curd生成的代碼,則需要找到相關(guān)代碼,下面列一下相關(guān)代碼的位置:

列表展示代碼:fastadmin目錄\public\assets\js\backend\控制器名.js js文件里面主要以js代碼的形式展示列表,用的是bootstrap-table

新增記錄代碼:fastadmin目錄\application\admin\view\控制器名\add.html html文件

修改記錄代碼:fastadmin目錄\application\admin\view\控制器名\edit.html html文件

展示記錄代碼:fastadmin目錄\application\admin\view\控制器名\index.html html文件

如需修改服務(wù)端代碼打開對(duì)應(yīng)的控制器修改就行了,打開之后發(fā)現(xiàn),咦?怎么只有一個(gè)index方法,add方法和edit方法去哪里了?不要怕,add方法和edit方法都在父類Backend類里了,只需要去父類復(fù)制一下在控制器里重寫就可以了,是不是很簡(jiǎn)單?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容