webman 一鍵curd 出來(lái)的程序有bug
我有兩個(gè)表
文章分類(lèi)表 category 主鍵是 category_id
文章內(nèi)容表 article 主鍵是article_id 關(guān)聯(lián)的分類(lèi)id字段是 category_id
我在文章內(nèi)容的表單屬性,使用下拉單選進(jìn)行關(guān)聯(lián)
url:/app/admin/category/select?format=select
生成的表單,可以讀取到文章的分類(lèi),也可以選擇
但是無(wú)法保存
我保存抓包查看network category_id的值是空的
我在想是不是因?yàn)?文章分類(lèi)的主鍵 是category_id 不是id 的緣故?
請(qǐng)問(wèn)我該怎么解決這個(gè)問(wèn)題
這里寫(xiě)具體的系統(tǒng)環(huán)境相關(guān)信息
運(yùn)行 MacOs
"workerman/webman-framework": "^1.5.0",
"monolog/monolog": "^2.0",
"webman/admin": "^0.6.28"
已證實(shí)關(guān)聯(lián)的分類(lèi)id字段必須為"id",如果為別的自定義主鍵,則不能正常使用該功能,請(qǐng)問(wèn)應(yīng)該怎么修改,才能支持自定義的主鍵名?
plugin/admin/app/controller/Crud.php
formatSelect方法改成下面這樣試下
/**
* 格式化下拉列表
* @param $items
* @return Response
*/
protected function formatSelect($items): Response
{
$formatted_items = [];
$primary_key = $this->model->getKeyName();
foreach ($items as $item) {
$formatted_items[] = [
'name' => $item->title ?? $item->name,
'value' => $item->$primary_key
];
}
return $this->json(0, 'ok', $formatted_items);
}
還是不行,我打印了 primary_key的值,還是id,沒(méi)有改成 主鍵所在的key ,會(huì)不會(huì)webman對(duì)數(shù)據(jù)表有緩存?