当我有输入数组时,如何使用 laravel mutator?

问题描述 投票:0回答:1

假设我有这种类型的产品输入

//json
{
    "name": {
        "en": "This is name in English",
        "bn": "This is name in Bangla",
    },
}

现在我想使用 mutator 根据英文名称生成唯一的 slug

我正在尝试这样

    public function setNameAttribute($value)
    {
        // Generate and set the unique slug
        $this->attributes['slug'] = $this->generateUniqueSlug($value);
    }


arrays laravel user-input mutators
1个回答
0
投票

首先检查value是否为数组,然后检查en键是否存在,然后根据英文名生成slug。

public function setNameAttribute($value) {
    if (is_array($value)) {
        if (isset($value['en'])) {
            $this->attributes['slug'] = $this->generateUniqueSlug($value['en']);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.