تا چند وقت پیش خودم برای اینکه بخوام توی sql نویسی لاراول و یا eloquent دو تا فیلد رو در کنار هم به عنوان یک فیلد داشته باشم از DB::raw استفاده میکردم. به این صورت:
Post::query()
->select(DB::raw('CONCAT(`title`, "e "e, `slug`) AS title'))
->where('published', true)
->get()
اما توی نسخه 9.36.4 لاراول یک متد جدید داخل eloquent معرفی شده که نیاز به DB::row رو از بین میبره. این متد جدید که rawValue نام داره به این صورت کار میکنه
Post::query()
->rawValue('CONCAT(`title`, "e "e, `slug`) AS title')
->where('published', true)
->get()
این توضیح رو هم بدم که استفاده از CONCAT صرفا به عنوان یک مثال بوده و خیلی کارهای دیگه با rawValue میشه انجام داد که من اینجا به همین مثال بسنده کردم.
اگر سوال یا نظری دارید در بخش کامنت ها مطرح کنید