Framework54 [Laravel] Transaction 작동 안되는 현상 해결 라라 벨에서는 데이터베이스 트랜잭션 내에서 일련의 작업을 실행하기 위해 DB파사드에서 제공하는 transaction 메서드를 사용할 수 있습니다. 이는 Eloquent ORM, Query Builder 모두에 대한 트랜젝션을 제어하는데 2가지 방식이 있습니다. 1. 클로저가 성공적으로 실행되면 트랜잭션을 자동으로 커밋하게 하고, 실패하면 예외가 발생하며 자동 롤백되는 아래와 같은 자동 형태의 사용 방식 ## 자동 형식의 트랜잭션 use Illuminate\Support\Facades\DB; DB::transaction(function () { DB::update('update users set votes = 1'); DB::delete('delete from posts'); }); 2. 수동으로 트랜잭션.. Framework/Laravel 2022. 7. 12. [Laravel] Global Variable / Constant / Function 정의 및 사용에 대한 고찰 Laravel Framework에서 global 변수, 상수, 함수에 대한 정의 및 사용방법은 무궁무진하다. global 전용 Provider를 만들어 라라벨 가동 시 전역으로 사용하게 할 수도 있고, Traits를 사용하여 사용할 수도 있고, 별도의 Service 폴더를 만들어 Class들을 모아놓고 new 연산자를 통해 사용할 수도 있고, Basic Controller를 상속받은 Function(혹은 Variable, Constant) Controller를 만들어서 extends 하여 사용할 수도 있고, Helpers밑에 globalFuncgtion.php 파일을 만들어 composer.json에 autoload 하여 사용할 수도 있다. 무엇이 가장 좋은 방법인가? 에 대하여 생각해봤는데 정답은 없었.. Framework/Laravel 2022. 7. 8. IntelliJ에서 Spring Boot 프로젝트 생성 및 실행하기 스프링(Spring)의 설정이 복잡하여 좀 더 쉽게 웹 서비스를 구현할 수 있게 만들어진 스프링 부트(Spring Boot) FrameWork를 사용하여 로컬 환경에서 web 서비스를 구현해 봅니다. IntelliJ에서 보다 쉽게 Spring Project를 생성하게 도와주는데 실제로 사용해보니 정말 간편하여 포스팅합니다. 1. New Project 진입하기 [File] > [New] > [Project]를 통하여 새로운 프로젝트를 생성하는 창을 열어줍니다. 2.Generators 메뉴의 Spring Initializr 활성화 하기 Generators 메뉴의 Spring Initializr를 클릭하여 원하는 언어 및 Build Tool, Location, Project Name, JDK버전 등을 을 설정.. Framework/Spring Boot 2022. 6. 16. [Model] 같은 형태에 대한 여러개의 테이블이 존재할 때, 1개의 Model로 사용하기 version 1.0 최근 라라벨을 사용하여 API를 만드는 작업을 진행하던 중, 같은 Database 내부에서 사용되는 table이 아래와 같은 경우가 생겼습니다. 상품 관련 테이블 : A_Products , B_Products, C_Products 주문 관련 테이블 : A_Orders, B_Orders, C_Orders ..... ..... ..... 라라벨에서 table에 따른 Eloquent model을 만들 때 지향하는 것은 [App/Models/] 하위에 아래와 같이 model을 각각 생성하겠죠. $ php artisan make:model AProject; $ php artisan make:model BProject; $ php artisan make:model CProject; $ php artisan make.. Framework/Laravel 2022. 5. 19. 데이터 대량 Insert Or Update 방법에 관한 고찰 - Migration And Seeder 사용하기 데이터 대량 Insert Or Update 방법에 관한 고찰 개발자가 새로운 프로젝트만 개발하면 좋겠지만, 운영팀에서 종종 Data 관련 대량 작업을 요구할 때가 있습니다. db관련 작업만 insert or update 하는것이라면 sql문법으로 쿼리실행만 해주면 되지만 Input시 observer 작업 혹은 API까지 동시에 처리해주어야 한다면 이건 꽤나 골치아픕니다. 본인의 경우 아래와 같은 작업으로 작업을 진행하는데 더 좋은 방법이 있다면 댓글로 알려주시면 감사하겠습니다. 1. DB Query문 짜기 예시로 products table에 있는 1~5000 까지의 id값에 해당하는 컬럼 몇가지를 update 하는 요청이 들어옵니다. 각 row당 barcode,box_width,box_length,bo.. Framework/Laravel 2022. 3. 17. How can change css in laravel nova??? Laravel Nova css 변경하여 적용하기 Laravel Nova를 사용해오며 느낀점중 가장 불편한 점은 사용자가 임의로 커스텀하기까지 많은 정보를 필요로 한다는 겁니다. 일반적인 프로젝트에서 css를 변경하려면 css파일에 내용만 추가하면 되겠지만 라라벨 노바는 하나의 패키지로 존재하기 때문에 아래의 방법으로 css를 변경하여 적용 할 수 있었습니다. 1.커스텀 css파일을 생성합니다. 커스텀 할 css파일을 생성합니다. 본인의 경우 public/css/nova.css 라는 파일을 생성하여 라라벨 노바 css를 수정하겠습니다. /* public/css/nova.css */ /* 라라벨 노바 네비를 뎁스별로 들여쓰기 하기 위해 아래의 css를 별도로 적용 */ a.relative.text-white.. Framework/Laravel 2022. 3. 10. Laravel로 만드는 Slack Bot (2) - 슬랙 봇 구현 Laravel로 만드는 Slack Bot (2) - 슬랙 봇 구현 초기설정을 마친 후, ComponentObjectModel 방식으로 슬랙봇을 구현한다. https://min-nine.tistory.com/186 Laravel로 만드는 Slack Bot (1) - slack app 만들기 및 초기설정 Laravel로 만드는 Slack Bot (1) - slack app 만들기 및 초기설정 요즘 현업에서 많이 사용하는 slack. slack 봇을 라라벨을 이용하여 구현합니다. Slack App toekn DB화를 위한 모델 및 마이그레이션.. min-nine.tistory.com Component Object Model이란? 마이크로소프트에서 개발한, 다양한 언어로 만들어진 소프트웨어 컴포넌트들이 자신의 .. Framework/Laravel 2022. 3. 2. Laravel로 만드는 Slack Bot (1) - slack app 만들기 및 초기설정 Laravel로 만드는 Slack Bot (1) - slack app 만들기 및 초기설정 요즘 현업에서 많이 사용하는 slack. slack 봇을 라라벨을 이용하여 구현합니다. Slack App toekn DB화를 위한 모델 및 마이그레이션 파일 생성 Slack은 보편적으로 다른 API Client처럼 key값을 1개만 쓰기는 아깝습니다. 이유인 즉슨, slack은 앱을 많이 다루고, 앱 속에서도 채널들을 많이 다루기 때문입니다. 때문에 앱 및 채널에 대한 토큰값들을 DB화 시키고, DB의 key value를 통해서 상황에 맞는 채널로 송신하게 구현합니다. setting 모델 및 migration 파일 생성하기 $ php artisan make:model Setting -m // -m 옵션으로 마이그레이.. Framework/Laravel 2022. 3. 2. Laravel RestAPI 구현하기 (3) - 상품조회,주문,주문조회 구현 Laravel RestAPI 구현하기 (3) - 상품조회,주문,주문조회 구현 로그인,회원가입,로그아웃 구현 이후 상품조회,주문,주문조회 API를 구현합니다. 상품등록은 Laravel RestAPI 구현하기(1)에서 대량등록한 상품으로 대체합니다. routes/api.php에 API경로 추가하기 Laravel RestAPI 구현하기(2)에서 정의한 API경로에 상품,주문 관련 경로를 추가로 정의합니다. Route::middleware('auth:api')->group(function () { Route::post('v1/logout', [PassportAuthController::class, 'logout']); Route::resource('v1/orders', OrderController::class).. Framework/Laravel 2022. 3. 2. Laravel RestAPI 구현하기 (2) - 회원가입,로그인,로그아웃 구현 Laravel RestAPI 구현하기 (2) - Passport로 회원가입,로그인,로그아웃 구현 라라벨은 애플리케이션에 Full OAuth2 서버 구현을 제공하는 Passport를 사용하여 API 인증을 용이하게 합니다 Laravel Passport를 사용하여 로그인,회원가입,로그아웃 관련 API를 만들어 보도록 합니다. Laravel Passport 설치하기 아래의 명령어를 통하여 본인의 라라벨 프로젝트 내부에 passport를 설치해본다 # composer.json 및 composer.lock에 passport 추가 $ composer require laravel/passport # passport의 oauth관련 db table 생성하기 $ php artisan migrate # 보안강화를 위한 토.. Framework/Laravel 2022. 3. 2. Laravel RestAPI 구현하기 (1) - 모델링 Laravel RestAPI 구현하기 (1) - 모델링 문득, 남이 만들어 놓은 API만 사용 해 봤지 스스로 API를 만들어 본 적이 없다는 것이 생각났다. 그래서 laravel을 이용하여 간단한 api 서버를 만들어 보고자 한다. 로그인,로그아웃,회원가입, 상품정보조회, 주문하기, 주문 수정삭제, 주문 조회 기능을 API로 구현하고자 한다. Model 구성 및 마이그레이션 파일 생성하기 user는 라라벨 migration을 통해 초기에 생성되는 스키마를 활용 할 예정이다. 상품에 해당하는 Product, 주문에 해당하는 Order만 구성하도록 한다. make:migration을 통하여 2개의 마이그레이션 파일 생성하자. # 상품 스키마 생성 $ php artisan make:migration Cre.. Framework/Laravel 2022. 2. 28. Local 환경에서 개발 후, 서버 배포시 'Class Not Found' 오류 현상 mac os 로컬 환경에서 개발 이후, stage로 merge하여 서버 배포를 했는데 뜬금없이 페이지 에러가 떨어지며 [ Class 'xxxx' not found ] Error가 떨어졌다. 실 서버 배포가 아니었기에 망정이지... 이리저리 찾아보다가 맥 초보자가 저지를 법한 실수를 내가 저질렀었다.. Model명을 Test로 만들고 개발을 진행했었는데, 코드의 한 곳에서 import (use 등)문에 Test를 TesT로 썼었다. 로컬환경에서 잘 돌아가는 이유는 mac Os의 경우 대소문자 구분이 없게 설정이 되어있었기 때문.. 이렇게 또 한가지를 배워간다. Framework/Laravel 2022. 2. 8. 이전 1 2 3 4 5 다음