본문 바로가기

반응형

개발/laravel

(8)
Laravel에서 increment() 메서드 사용 시 즉시 업데이트되지 않는 문제 해결하기 Laravel 개발자들이 자주 마주치는 문제 중 하나는 increment() 메서드를 사용했을 때 값이 즉시 업데이트되지 않는 현상입니다. 이번 포스트에서는 이 문제의 원인과 해결 방법에 대해 알아보겠습니다.문제의 원인increment() 메서드를 사용했는데 값이 즉시 반영되지 않는 이유는 주로 다음과 같습니다:데이터베이스 트랜잭션캐싱 메커니즘모델 인스턴스가 새로고침되지 않음 (관계 모델일 경우 eager loading으로 인한 문제)해결 방법이 문제를 해결하기 위한 여러 가지 방법을 살펴보겠습니다.1. 모델 새로고침하기increment() 메서드 사용 후 모델을 새로고침하면 최신 데이터를 가져올 수 있습니다.$model->increment('column');$model->refresh();2. DB::..
Laravel에서 데이터 정렬하기: orderBy 메소드 활용하기 웹 애플리케이션을 개발할 때, 데이터베이스에서 원하는 정보를 효율적으로 정렬하는 것은 매우 중요합니다.Laravel은 직관적인 Eloquent ORM(Object-Relational Mapping)을 사용하여 데이터베이스 작업을 단순화해줍니다.이번 포스팅에서는 Laravel에서 orderBy 메소드를 사용하여 데이터 정렬을 수행하는 방법과 특정 우선순위를 설정하는 방법에 대해 알아보겠습니다.기본적인 데이터 정렬Laravel에서는 Eloquent 모델을 통해 데이터베이스 쿼리를 쉽게 만들 수 있습니다.가장 기본적인 정렬 방법은 orderBy 메소드를 사용하는 것입니다.use App\Models\YourModel;// 오름차순 정렬$results = YourModel::orderBy('column_name'..
라라벨에서 커스텀 helper 등록하기 라라벨 커스텀 헬퍼Laravel에서 커스텀 헬퍼를 등록하는 방법은 다음과 같습니다.헬퍼는 자주 사용하는 기능을 간편하게 사용할 수 있도록 도와주는 유틸리티 함수입니다.1. 헬퍼 파일 생성먼저, 헬퍼 파일을 생성합니다. Laravel의 app 디렉터리 안에 Helpers라는 디렉터리를 만들고 그 안에 헬퍼 파일을 생성할 수 있습니다.mkdir app/Helperstouch app/Helpers/helpers.php2. 헬퍼 함수 작성helpers.php 파일에 원하는 헬퍼 함수를 정의합니다. 예를 들어, 문자열을 변환하는 헬퍼 함수를 추가할 수 있습니다.3. 헬퍼 파일 로드하기Laravel이 헬퍼 파일을 자동으로 로드할 수 있도록 설정해야 합니다. 이를 위해 composer.json 파일을 수정합니다."a..
Laravel의 whereJsonContains 메서드: JSON 데이터 필터링의 강력한 도구 Laravel은 PHP 프레임워크 중 하나로, 웹 애플리케이션 개발을 더 쉽게 만들어주는 다양한 기능을 제공합니다. 그중 하나가 whereJsonContains 메서드로, JSON 필드에서 특정 값을 필터링하는 데 유용하게 사용됩니다. 이 글에서는 whereJsonContains의 사용법과 실제 예시를 통해 그 기능을 살펴보겠습니다.1. whereJsonContains 메서드란?whereJsonContains는 Eloquent 쿼리 빌더에서 사용되는 메서드로, 데이터베이스에서 JSON 열 안에 특정 값이 포함되어 있는지를 확인하는 데 사용됩니다. 이 메서드는 주로 JSON 형식으로 저장된 데이터가 포함된 필드를 조회할 때 유용합니다.2. 사용법whereJsonContains 메서드는 다음과 같은 형태로 ..
라라벨 Sail 설정 가이드 라라벨 Sail은 라라벨 프레임워크를 사용하여 웹 애플리케이션 개발을 위한 도구입니다. Sail은 Docker를 기반으로 동작하며, 컨테이너 기술을 사용하여 개발 환경을 구성합니다. 이를 통해 개발자는 별도의 환경 설정 없이 라라벨 프로젝트를 빠르게 실행하고 테스트 할 수 있습니다. 이 글에서는 라라벨 Sail의 설정 방법과 기능에 대해 알아보겠습니다. 1. Sail 설치하기 - 먼저, 라라벨 프로젝트를 생성합니다. - 터미널에서 다음 명령어를 실행하여 Sail을 설치합니다: `composer require laravel/sail --dev` - Sail 설치가 완료되면 `sail` 명령어를 사용할 수 있습니다. 2. Sail 설정하기 - 프로젝트 루트 디렉토리에서 `vendor/bin/sail up` ..
[Laravel] log permission denied laravel server 운용중 아래와 같은 에러 발생 The stream or file "/var/www/html/{server-dir}/storage/logs/laravel-2023-07-11.log" could not be opened in append mode: failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file 로그 파일을 write 할 권한이 없다는 오류. 원인은 라라벨 스케쥴러를 crontab 으로 등록할 때 root user로 등록해서, root user가 생성한 log 파일을 서버 실행 유저 (nginx)가 접근하지 못하기 때문이었다. 해결방법: ..
[laravel5.5] 302 redirect status code 컨텐츠를 수정할 Controller를 작성한 후 Route::post('/contents-video-sort', 'ContentsController@changeLectureOrder'); 프론트에서 호출하였을 때 axios.post("/contents-video-sort", {list : this.list.data}) .then(...) 아래와 같이 302 redirect error 가 나면서 호출이 되지 않는 문제가 발생하였다. 찾아보니 CSRF 문제일 수 있다고 했다. https://stackoverflow.com/questions/42426859/laravel-ajax-post-request-does-not-work-302-found Laravel Ajax POST Request does not w..
[laravel 5.5/QueryBuilder] SubQuery 같은 테이블 데이터를 조인해서 id로 group by 하고 생성된 테이블 데이터의 기간 차이를 가져올 예정. subquery에서 select 하는 querybuilder 가 존재하지 않으므로.. logs 테이블을 조건검색하는 sql문을 생성한다. $sql = $this->logs() ->select('logs.id', 'logs.createdate', DB::raw('MIN(b.createdate) as nextdate')) ->leftJoin('logs as b', function($join) { $join->on('logs.id', '=', 'b.id'); $join->on('logs.createdate', '

반응형