Join mult values column laravel mysql

selamat siang gan saya mau bertanya terkait laravel + mysql join jadi saya ada 2 tabel yaitu tabel post dan categories

[url=https://ibb.co/wsx7L1Q][/url] [url=https://ibb.co/VqtXC6d][/url]

hasil yang diharapkan dimana nantinya post dapat menampilkan category name nya pada tabel categories

yang telah saya lakukan antara lain :

$career = DB::table(with(new static )->getTable())
				->join('categories', 'posts.category', '=', 'categories.id')
        ->select(DB::raw('posts.id,posts.title,posts.excerpt,posts.thumbnail,substr(posts.content, 1, 1000) as content,posts.author,posts.thumbnail,categories.category,posts.slug,posts.created_at'))
				->orderBy($options['columns'][($options['sort_column'])]['name'],$options['sort_direction']);

				$return['total_data'] = count($career->get());
				$return['data'] = $career
				->skip($options['iDisplayStart'])
				->take($options['iDisplayLength'])
				->get();

*abaikan code yg lain selain query krn fungsi server side datatables

namun hanya menmpilkan 1 category name pdahal ingin 2 category name muncul krn 1 post terdapat pada 2 category

referensi lain yg telah saya lakukan

$docomuntOrders = \DB::table("posts")
            ->select("posts.*",\DB::raw("GROUP_CONCAT(categories.category) as docname"))
            ->leftjoin("categories",\DB::raw("FIND_IN_SET(categories.id,posts.category)"),">",\DB::raw("'0'"))
            ->groupBy("posts.id")
            ->get();

namun muncul error :

SQLSTATE[42000]: Syntax error or access violation: 1055 'mywebsite.posts.title' isn't in GROUP BY (SQL: select `posts`.*, GROUP_CONCAT(categories.category) as docname from `posts` left join `categories` on FIND_IN_SET(categories.id,posts.category) > '0' group by `posts`.`id`)

mungkin suhu2 sekalian bisa guide ke saya terkait apa yg harus saya lakukan terima kasih

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

Di laravel eloquent kategori ini disebut <a href='https://laravel.com/docs/5.8/eloquent-relationships#many-to-many-polymorphic-relations'>relation many to many</a> dimana 1 blog bisa punya banyak tag, dan 1 tag juga bisa dimilik banyak blog

Kamu memerlukan table ketiga yang isinya blog_id dan tag_id, jadi solusinya harus mengubah strukturnya

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 5 tahun yang lalu

terima kasih mas hilman intuk responnya hasil searching saya di stackoverflow juga mendapat hasil yg serupa dengan mas hilman. tp ini casenya udah dari sananya struktur tabelnya eperti, jdi mau tidak mau saya harus pakai query tersebut

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban