Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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
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;
}