Hello mọi người!
Trong bài viết này mình sẽ chia sẻ cách sử dụng hàm selectraw() query với Laravel 8.
Các bạn có thể sử dụng hàm selectraw() với những phiên bản laravel 6+.
Mình sẽ demo ví dụ bên dưới để các bạn dễ hiểu nhé.
Trước tiên mình tạo table posts với dữ liệu demo như bên dưới.
Ví dụ 1
Hãy thêm code vào controller như bên dưới.
appHttpControllersPostController.php
<?phpnamespaceAppHttpControllers;useAppModelsPost;useDB;classPostControllerextendsController{publicfunctionindex(){$posts=Post::select("*")->selectRaw('price + ? as price_with_bonus',[500])->get()->toArray();dd($posts);}}
Output:
array:2 [▼
0 => array:7 [▼
"id" => 1
"title" => "PHP"
"body" => "Khóa Học PHP"
"price" => 100
"created_at" => "2021-12-28T10:26:59.000000Z"
"updated_at" => null
"price_with_bonus" => 600
]
1 => array:7 [▼
"id" => 2
"title" => "Laravel"
"body" => "Khóa Học Laravel"
"price" => 100
"created_at" => "2021-12-29T10:27:27.000000Z"
"updated_at" => null
"price_with_bonus" => 600
]
]
Ví dụ 2
Hãy cập nhật code trong controller như bên dưới nhé.
appHttpControllersPostController.php
<?phpnamespaceAppHttpControllers;useAppModelsPost;useDB;classPostControllerextendsController{publicfunctionindex(){$posts=Post::select("*")->select('*',DB::raw('price + 400 as price_with_bonus'))->get()->toArray();dd($posts);}}
Output:
array:2 [▼
0 => array:7 [▼
"id" => 1
"title" => "PHP"
"body" => "Khóa Học PHP"
"price" => 100
"created_at" => "2021-12-28T10:26:59.000000Z"
"updated_at" => null
"price_with_bonus" => 500
]
1 => array:7 [▼
"id" => 2
"title" => "Laravel"
"body" => "Khóa Học Laravel"
"price" => 100
"created_at" => "2021-12-29T10:27:27.000000Z"
"updated_at" => null
"price_with_bonus" => 500
]
]
Hy vọng bài viết này sẽ giúp ích cho các bạn!
Nguồn: viblo.asia