国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

【已解決】Laravel ORM 如何實現(xiàn)在查詢結果的一個字段追加固定前綴

fgt1t5y

問題描述

現(xiàn)有一個用戶表,有一個“avatar_uri”字段存儲用戶頭像的文件名(如下圖),Laravel ORM 如何實現(xiàn)自動在查詢結果的“avatar_uri”自動前面加上固定文字(如路徑)。

0mpk80m37456tqm2.jpg -> /public/0mpk80m37456tqm2.jpg

截圖

任何方案都行,只要效果到達~

998 2 0
2個回答

胡桃

定義Accessor

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * Get the user's first name.
     */
    protected function firstName(): Attribute
    {
        return Attribute::make(
            get: fn (string $value) => ucfirst($value),
        );
    }
}

使用:

use App\Models\User;

$user = User::find(1);

$firstName = $user->first_name;

文檔:https://laravel.com/docs/10.x/eloquent-mutators#defining-an-accessor

xini2603

larlvel 是支持寫入與查詢時自定義的

查詢在model文件中定義:
public function getAvatarUriAttribute($value){
//取其它字段值用:$this->字段名
return '自定義前綴'.$value;
}

這樣任意model查詢時會自動調用方法轉換字段值,

同理入庫時自動轉換就是setAvatarUriAttribute($value){}

或者你自定義一個查詢字段

public function getAvatarUrlAttribute(){
//取其它字段值用:$this->字段名
return '自定義前綴'.$this->avatar_uri;
}

單條查詢直接使用:$data->avarar_url 即可

列表查詢在get()后面追加append
get()->append(['avatar_url']);

這樣結果中有自定義字段了。

年代過于久遠,無法發(fā)表回答
??