Postingan lainnya
get array data dalam satu kolom di laravel
halo, mastah sekalian. Mohon bantuannya. Jadi saya ada data dari tabel Post yang jika ditampilkan berupa json seperti ini
"data": [
{
"id": 3,
"title": "X0BmKAydSF",
"slug": "vQ3OecHMzJ",
"file": [
"Cookie.jpg",
"Cookie2.jpg"
],
"konten": "Testing",
}]
hasil diatas menggunakan kode seperti ini
public function transform(Post $post)
{
return [
'id' => $post->id,
'title' => $post->title,
'slug' => $post->slug,
'file' => $post->file,
'konten' => $post->body,
'published' => $post->created_at->diffForHumans(),
'jumlah_komen' => count($post->comments)
];
}
ketika saya menggunakan Accessor untuk menampilkan kolom file
'file' => $post->imagePath
, array di kolom file yang ditampilkan menjadi 1
"data": [
{
"id": 3,
"title": "X0BmKAydSF",
"slug": "vQ3OecHMzJ",
"file": "http://localhost:8000/image/1/Cookie.jpg",
"konten": "Testing",
}]
dan berikut kode untuk accessor
public function getImagePathAttribute()
{
foreach ($this->file as $key => $value) {
# code...
return url('image/' . $this->user_id . '/' . $value);
}
}
solusinya bagaimana agar kolom file tetep menampilkan data berupa array sama seperti tidak menggunakan accessor ? mohon bantuannya
0
2 Jawaban:
Jawaban Terpilih
Tolong diupdate fungsi getImagePathAttribute() nya :
public function getImagePathAttribute()
{
$create_array = [];
foreach ($this->file as $key => $value) {
# code...
$create_array[$key] = url('image/' . $this->user_id . '/' . $value);
}
return $create_array;
}
1