Измените данные из базы данных, прежде чем вернуться к просмотру - PullRequest
1 голос
/ 05 августа 2020

Я хочу изменить данные file_name перед их возвратом в представление. В настоящее время я делаю:

$ci = CI::where('user_id',Auth::id())->get();
    return $$ci->map(function($item){
         return collect([
             'id' => $item->id,
             'title' => $item->title,
             'description' => $item->description,
             'file_name' => $this->archiving->url.'/media/content/'.$item->file_name // the part i need to alter
         ]);
 });

, это отлично работает, но мне нужно ввести «id, title, description» (в основном все остальные данные, которые я не изменяю), иначе результат даст мне только имя_файла. Есть ли лучший способ сделать это? Спасибо

1 Ответ

1 голос
/ 05 августа 2020

Вы можете установить Accessors & Mutators

class CI extends Model
{
    /**
     * Get the file path
     *
     * @param  string  $value
     * @return string
     */
    public function getFileNameAttribute($file_name)
    {
        return $this->archiving->url.'/media/content/'.$file_name;
    }
}

Узнать больше Аксессоры и мутаторы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...