Laravel
-
구글 크롬 번역기 웹사이트에 적용하는법Laravel 2023. 1. 15. 14:02
# What? 구글 크롬 번역기 버튼을 웹사이트에 내장하는법 # How? https://blogpack.tistory.com/955 웹페이지와 티스토리 블로그에 구글 번역 기능 붙이기. 다국어 블로그를 만들어보자. 1. 구글 번역 붙여넣기 블로그에 해외 방문자가 더러 있거나, 다국어 블로그로 운영을 하고 싶을 때 가장 빠르고 효과적인 방법은 구글 번역 기능을 붙여서 방문자가 번역된 글 내용으로 대략의 blogpack.tistory.com - gjccc.or.kr 참고하면 되고, 기본틀 아래와 같이 넣어야돼 @ app.blade.php @inertia
-
윈도우에서 PHP 버전 바꾸는법 (on windows), php 버전 여러개 세팅하는법Laravel 2023. 1. 10. 15:49
# What? - php 버전 바꿔서 사용하는법 # Why? - 과거 프로젝트는 php7고, 현재는 php8을 쓸 때 과거 버전을 업그레이드해서 쓰거나 과거 버전 그대로 작업해야할 때가 있음. 후자일 경우 php버전 바꿔서 실행해야함 # How? - php 다운로드 사이트 접속 후 원하는 버전 다운로드(Win 들어간걸로) https://windows.php.net/downloads/releases/archives/ windows.php.net - /downloads/releases/archives/ windows.php.net - xampp 폴더에 압축 풀고 폴더명 깔끔하게 변경(ex. php-7.1) * xampp를 안깔았다면 먼저 깔아야됨 - 해당 폴더에 들어간 후 php.ini-production을..
-
특정값 우선순위 정렬 orderBy #orderByRaw # FIELD #순서Laravel 2023. 1. 8. 13:59
# What? 이게 뭔데? - 특정값을 우선으로 정렬 # Why? 이걸 왜 쓰는데? - 게시글을 사용자와 같은 나라를 1순위로 정렬한다던지 특정값을 우선순위로 정렬하고 싶으면 사용 # How? 어떻게 쓰는데? orderByRaw(DB::raw('FIELD(컬러명, "한국", "미국", "일본") DESC')); // 이렇게 하면 한국 1순위, 미국 2순위 일본 3순위, 나머지 나라 4순위로 정렬됨 $boards = $boards->where("type", BoardType::NORMAL) ->orderByRaw(DB::raw('FIELD(locale, "'.$locale.'") DESC')) ->orderBy("likes_count", "desc") ->orderBy("created_at", "desc");
-
관계형 집계 및 순서정렬(Relation count orderBy) #특정기간 #좋아요 #집계 #랭킹 #순위 #dense_rank()Laravel 2023. 1. 7. 23:35
# What? 이게 뭔데? - 관계데이터들의 개수를 세서 정렬 # Why? 이걸 왜 쓰는데? - 게시물을 특정 기간동안 받은 좋아요수를 정렬한다던지 등 # How? 어떻게 쓰는데? \App\Models\User::query() ->withCount([ 'products' => function (\Illuminate\Database\Eloquent\Builder $query) { $query->whereBetween('buy_date', ['2021-05-19 00:00:00', '2021-05-19 23:59:59']); } ]) ->orderBy('products_count') ->get(); * 동률점수 포함 랭킹숫자 나열하는법 $pointHistories = PointHistory::select(D..
-
Array validation #유효성 #배열 #배열유효성 검사하는법Laravel 2022. 12. 23. 16:06
# What? 배열 안에 내용들 유효성 검사하는법 # How? $request->validate([ "products" => "required|array", "products.*.count" => "required|integer|min:1|max:99", "products.*.color" => "required|string|max:500", // #복붙주의 - 일반적인 쇼핑몰에선 컬러 안쓰겠지 "products.*.need_option_id" => "required|integer", "options" => "nullable|array", ]); /* $this->post("/carts", [ "products" => [ [ "product_id" => $product->id, "count" => $cou..
-
Relation filter 관계형 데이터 where로 필터링하고 싶을 때 #Filter #Relation #BelongsTo #whereLaravel/Nova 2022. 12. 18. 19:07
# What? 특정 리소스에서 다른 관계 데이터 가져올 때 where로 필터링하고 싶을 때 # How? - 예시상황 : Dating이라는 리소스에서 User리소스를 호출할 때 men이라는 관계명으로 가져옴. 이 때 성별이 남자인 user들만 목록에 노출되야하는 상황 @Nova\Dating.php return [ ... BelongsTo::make(__("Men"), "men", User::class), .... @Nova\User.php public static function relatableQuery(NovaRequest $request, $query) { $requestSegment = strtolower($request->segment(4)); if ($requestSegment === 'men'..
-
Observer event(옵저버 이벤트) 안될 때Laravel 2022. 12. 9. 16:41
# What? 특정 모델 updated 등과 이벤트 걸어놨는데 안먹을 때 있음 # How? model 각각을 crud할 때만 observer event가 발생하는거고 mass update 이런거엔 작동안함 @ 잘못된 예 $order->orderProducts()->update([ "state" => OrderProductState::REFUND ]); @ 올바른 예 $orderProducts = $order->orderProducts()->cursor(); foreach($orderProducts as $orderProduct){ $orderProduct->update([ "state" => OrderProductState::REFUND ]); }
-
lang, translate, locale, 다국어, global 언어 지원하기(laravel + inertia.js + nuxt 버전 추가)Laravel/Inertia.js 2022. 10. 29. 13:03
* nuxt 버전은 blueprep.com (모의고사) 참고 (아래 글도 남겨놓긴함) # What? inerita.js에서 laravel lang 사용하는법 # How? 1. 일단 lang 폴더 밑에 en, ko 등 지원하고자하는 나라별 php 언어파일 만들기 2. 파일시스템 설정하기 @ filesystems.php 'disks' => [ 'languages' => [ 'driver' => 'local', 'root' => base_path('resources/lang'), ], ], 3. 언어파일 php를 json으로 변환해줄 명령어 만들기 @ app/Console/Commands/CreateJsonTranslationFileCommand.php