получить атрибут accessor только для определенного метода в laravel

Я хочу изменить некоторые значения результата моего запроса для вызова API. вот мой запрос

public function modules()
{
Module::select('id','name','image')->get()->toJson();
}

поэтому я хочу изменить image значение, добавьте полный путь к нему. Я добавил аксессор

public function getImageAttribute($image)
{
return asset($image);
}

и он работает нормально, но проблема в том, что теперь он будет влиять на этот столбец каждый раз, когда я пытаюсь получить его. есть ли способ использовать этот аксессор (getImageAttribute) только для modules метод?

1

Решение

Вы можете избавиться от аксессора и обновить путь к изображению внутри modules метод.

public function modules()
{
return Module::select('id', 'name', 'image')->get()->map(function ($module) {
$module->image = asset($module->image);
return $module;
})->toJson();
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector