Laravel雄辩地将字符串添加到结果中。

时间:2018-09-23 16:03:02

标签: laravel eloquent

我雄辩地从posts表中检索数据。这是一个简化的示例:

$posts = Post::with(
    array('user'=>function($query){
        $query->select('id','username');
    }))
    ->with('category')
    ->with('images')
    ->orderBy('id', 'DESC')
    ->paginate(25);

images的结果如下:

"images": [
                {
                    "id": 4,
                    "user_id": 1,
                    "post_id": 104,
                    "file": "cb2a81314c006425e7d7fb1fcb4ebd66c2ea5a75.jpg",
                    "width": 1050,
                    "height": 1204,
                    "created_at": "2018-09-23 15:53:24",
                    "updated_at": "2018-09-23 15:53:24"
                }
            ]

有没有办法,我可以添加一个字符串,或者分别指向文件名的链接,使其看起来像这样:https://example.com/uploads/cb2a81314c006425e7d7fb1fcb4ebd66c2ea5a75.jpg

我还没有找到一种方法可以自己完成,如果有人可以帮助我,我会很高兴。

1 个答案:

答案 0 :(得分:1)

使用$appends

class Image extends Model {
    protected $appends = ['url'];

    public function getUrlAttribute() {
        return 'https://example.com/uploads/'.$this->file;
    }
}