반응형
마이그레이션 생성
php artisan make:migration create_sales_view
create, drop문 작성
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
class CreateSalesView extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::statement("DROP VIEW IF EXISTS sales_summary");
DB::statement("CREATE VIEW sales_summary AS
SELECT
ord_email AS ord_email,
(CASE
WHEN (COUNT(ord_no) = 1) THEN 'F1'
WHEN (COUNT(ord_no) = 2) THEN 'F2'
ELSE 'F3'
END) AS F,
CONCAT(YEAR(ord_date), '-', MONTH(ord_date)) AS sales_month,
SUM(ord_total_price) AS total_sales_price
FROM orders
GROUP BY ord_email, ord_date");
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::statement("DROP VIEW IF EXISTS sales_summary");
}
}
참고자료
https://cakephper.hatenadiary.org/entry/20150731/1438347861
LaravelのマイグレーションでView Tableを作成する - cakephperの日記(CakePHP, Laravel, PHP)
Laravel5で試していますがLaravel4でも問題なく動くと思います。複雑なテーブル構成の場合、LaravelのEloquentなどで頑張ってリレーションの情報を定義して取得するのも良いのですが、書き間違え
cakephper.hatenadiary.org
반응형
'Laravel' 카테고리의 다른 글
[Laravel] env() 값을 못가져올때, env 변수 설정, env 동적 설정 (0) | 2024.01.29 |
---|---|
[Laravel] Validator로 유효성검사 (0) | 2023.08.31 |
[Laravel] Localization 지역화 적용하기 (0) | 2023.08.25 |
[laravel8] 디버그바 설치 (0) | 2023.08.01 |
[laravel8] input에 첨부한 csv파일 DB table에 import하기(ajax 사용) (0) | 2023.07.20 |