gpt4 book ai didi

php - 在 SilverStripe ModelAdmin 中搜索关系记录

转载 作者:行者123 更新时间:2023-12-02 17:26:07 25 4
gpt4 key购买 nike

我有两个名为 AosMemberCouncilDataObject

Council 类与 AosMember 具有 $has_one 关系。

class Council extends DataObject {

public static $db = array(
'Title' => 'Varchar(255)',
'Year' => 'Year(4)'
);

public static $has_one = array(
'Member' => 'AosMember'
);

public static $summary_fields = array(
'Year',
'Title'
);

private static $searchable_fields = array(
'Member.LAST_NAME' => 'PartialMatchFilter'
);
}

当我进入 CMS 中的 CouncilModelAdmin 时,我看到 Member 的文本输入。成员(member)数量为 +500,因此理想情况下我希望能够输入姓氏并获得某种自动完成功能。

至少我想要一个下拉字段。但我找不到有关如何获取其中任何一个的说明。

最佳答案

Member.ID 添加到可搜索字段列表将使该字段成为自动完成下拉字段:

class Council extends DataObject {
// ...

private static $searchable_fields = array(
'Member.ID' => array(
'title' => 'Member',
'filter' => 'ExactMatchFilter'
)
);
}

字段中要搜索的文本将是 AosMember 对象的标题。如果 AosMember 没有标题,那么我们可以通过 getTitle 函数返回特定内容:

class AosMember extends DataObject {
// ...

public function getTitle() {
return $this->FirstName . ' ' . $this->LastName;
}
}

关于php - 在 SilverStripe ModelAdmin 中搜索关系记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37931718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com