laravel - 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
我自己还没有找到一种方法来做到这一点,如果有人可以帮助我,我会很高兴。
解决方案
使用$appends
:
class Image extends Model {
protected $appends = ['url'];
public function getUrlAttribute() {
return 'https://example.com/uploads/'.$this->file;
}
}
推荐阅读
- r - 如何从 R 中的并行 foreach 循环中将列添加到输出数据帧
- python - PyQt5 QWebEngineView 不显示任何内容
- r - 如果可能的话,如何在语法上正确地合并这些?R CSV 文件
- html - Oracle Apex -> 在 2 行中添加应用程序标题替换字符串
- sql - 为什么这个查询返回第一行而不是黄牌最多的名字和国家
- java - 失败的两个测试用例,缺少整数 Codility 问题
- python - Python - 消除 numpy 数组或 pandas 数据帧的每一行中的 NaN 值
- javascript - Web Audio API -- 从 Analyzer 捕获流
- azure-ad-b2c - Azure b2c 注册
- javascript - 如何在不重复的情况下运行脚本