Backpackv5的Select2字段上没有正常工作的访问器(Accessors)
创始人
2024-11-20 05:30:12
0

在Backpack v5中,如果要使用访问器来自定义模型属性的输出,需要为该属性添加一个setter和getter函数。然而,在使用Select2字段时,具有相同名称的setter和getter函数负责实现Select2字段的一些逻辑。因此,无法在Select2字段中使用访问器。

不过,可以通过在设置Select2选项时使用transform()函数来修改字段的值。例如,在表单字段中,可以通过以下代码设置Select2选项:

$this->crud->addField([
'name' => 'categories',
'label' => 'Categories',
'type' => 'select2_multiple',
'entity' => 'categories',
'model' => "App\Models\Category",
'attribute' => 'name',
'pivot' => true,
'options' => (function ($query) {
return $query->orderBy('name', 'asc')->get();
}),
'allows_null' => false,
'value' => [1, 2], ])->transform(function ($value) {
return implode(',', $value);
});

在上面的代码中,transform函数将Select2字段的值从数组转换为用逗号分隔的字符串。这个转换是在设置属性之前完成的,所以在使用访问器时也可以得到正确的值。例如,为了获得categories属性的名称,可以创建一个访问器如下:

public function getCategoriesNamesAttribute(){
return implode(', ', explode(',', $this->attributes['categories']));
}

这个访问器将以逗号分隔的字符串作为输入,并返回用逗号分隔的分类名称列表。

相关内容

热门资讯

6分钟辅助!hhpoker是真... 6分钟辅助!hhpoker是真的假的,hhpoker真的有透视吗,演示教程(真是有挂)1、每一步都需...
第七分钟辅助!we poker... 第七分钟辅助!we poker插件,we poker免费辅助器,手筋教程(有挂方式)暗藏猫腻,小编详...
七分钟辅助!aa poker辅... 七分钟辅助!aa poker辅助包,pokemmo脚本辅助器下载,讲义教程(有挂秘籍)1、pokem...
第四分钟辅助!wepoker辅... 第四分钟辅助!wepoker辅助器安装包定制,aapoker透视脚本,大纲教程(有挂总结)所有人都在...
第四分钟辅助!wpk透视辅助靠... 第四分钟辅助!wpk透视辅助靠谱吗,wepoker透视苹果系统,诀窍教程(有挂猫腻);运wepoke...
七分钟辅助!aapoker透视... 七分钟辅助!aapoker透视脚本入口,wejoker开挂,学习教程(有挂教程)1、打开软件启动之后...
第四分钟辅助!淘宝买wepok... 第四分钟辅助!淘宝买wepoker透视有用吗,wpk俱乐部怎么作弊,积累教程(有挂规律)1、下载好淘...
6分钟辅助!we-poker软... 6分钟辅助!we-poker软件,购买的wpk辅助在哪里下载,积累教程(有挂技巧)购买的wpk辅助在...
第2分钟辅助!如何下载wepo... 第2分钟辅助!如何下载wepoker安装包,newpoker怎么安装脚本,教程书教程(今日头条)1、...
4分钟辅助!wepoker钻石... 4分钟辅助!wepoker钻石怎么看底牌,wepoker辅助器有哪些功能,法门教程(有挂详细)该软件...