laravel - 如何以json格式连接URL并从数据库中检索图像

时间:2018-03-20 16:38:27

标签: php mysql laravel

我正在尝试显示存储在数据库中的图像的json数组,以便在Laravel中提供完整的URL。我正在使用CONCAT()函数来连接图像的完整URL,但我得到的是一个错误的URL,里面有很多破折号。 这是即将到来的输出中的一个问题:

{
  "posts": [{
    "imageurl": "http:\/\/localhost:8000\/images\/1509695371.jpg"
  }, {
    "imageurl": "http:\/\/localhost:8000\/images\/1509695156.jpg"
  }, {
    "imageurl": "http:\/\/localhost:8000\/images\/1509696465.jpg"
  }, {
    "imageurl": "http:\/\/localhost:8000\/images\/1509697249.jpg"
  }]
}

这是我的控制器中的函数,用于从Post表中检索存储在数据库中的图像:

public function index()
{
    $posts = Post::select(array(DB::raw("CONCAT('http://localhost:8000/images/', image) AS imageurl")))->get();
    return response()->json(['posts' =>  $posts]);
}

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

非常感谢@Sari它现在正常工作。将代码更改为此后,

var javascriptObject = {
   functionName1: function () {
      return 5;
   }
};


var bar = javascriptObject.functionName1();
console.log(bar);

答案 1 :(得分:0)

而不是在数据库级别执行此操作,您可以在Post模型中执行以下操作

 public function getImageUrlAttribute($value)
    {
        return 'http://localhost:8000/'.$this->image;
    }

并像$post->image_url

一样访问它