예제코드는 다음과 같다. $a = collection([1,2,3], [1,2]); $notFound = null; $a->each(function ($b) use ($notFound) { $b->each(function ($c) use ($notFound) { $notFound = 1; }); }); notFound는 결과값이 뭐가 나올까? 나는 1을 기대했지만 null값이 나온다. 왜냐하면 얕은 복사를 하기때문이지! 기대하는 notFound 값을 얻을려면 notFound를 collection이나 object, array와 같은 얕은 복사로써 가져갈 염려없는 데이터타입을 선언해서 사용하던지 아니면 use 부분에서 값을 복사해가는것이 아닌 메모리 주소값을 참조하도록 앞에 &$notFound 형식으로 사용..
개가튼거.......-_- 프론트에서 특정 테이블의 데이터를 생성할때 해당 오류가 뜨고 진행이 안됐는데, 진짜 거짓말 안하고 난 철썩 같이 프론트 axios 요청때에 발생하는 문제라고 믿고 있었다. 프록시라니까. 더욱 더. 하지만 결국 문제는 특정 테이블을 생성할때 트리거가 동작하는데, 그 트리거가 작동할때 function이 수행되어야하는데 해당 function이 mysql에 없어서 프론트에서 해당 문제가 표시되었다. use database; show triggers; 아니! 그냥 테이블 데이터 생성할때 트리거를 왜 쓰냐고! 프레임워크 쓰면 그 안에서 사용할수 있으면 그 안에서 해결하라고!!!! 같은 시각에 밀리세컨드까지 따져서 같은 시간에 해당 데이터가 생성될정도로 많은 접근이 이루어지지도 않는데 왜 ..
// 리턴되는 항목들로 이루어진 새로운 콜렉션이 생성됨. $resultCollection = $collection->map(function (Model $model) { return $model->asdf; } // 조건에 해당하면 해당 값 리턴해서 새로운 콜렉션 생성됨. $resultCollection = $collection->filter(function (Model $model) { return !$model->asdf } // 매뉴얼에서 예제 $collection = collect([1, 2, 3, 4]); $filtered = $collection->filter(function ($value, $key) { return $value > 2; }); $filtered->all(); // [3, 4..
이거로딩으로 먼저 로딩해서 그 데이터로 쓰고, 그대로 해당부분 릴레이션은 끊고 프론트로 값을 리턴하고 싶었다! 예를들면, A테이블에 연결된 B테이블의 내용을 가져와서 요리조리 사용하고, B테이블의 내용은 삭제하고 프론트로 주고 싶었다. 릴레이션 삭제하는게 분명 있을거 같아서 검색해서 결국 찾아내었어! if ($user->isAdminUser()) { $order->load(['salon:id', 'salon.sales' => function ($query) { $start_date = \Carbon\Carbon::now()->subWeek()->format('Y-m-d'); $end_date = Carbon::now()->format('Y-m-d'); $query->whereBetween('date', ..
먼저 프로젝트 생성하고, curl -s "https://laravel.build/app-name?with=mysql,redis" | bash mysql, redis만 사용할거면 with쓰고, 아니면 빼고~ docker-compose.yml 파일에서 네트워크 부분들을 죄다 변경해주자. 나는 아예 독립적으로 따로 쓰고싶어서 네트워크부분 따로 생성하려고 변경했당. (기존에 사용하던 프로젝트는 그냥 둬도 됨~_~) # For more information: https://laravel.com/docs/sail version: '3' services: laravel.example: // 이부분 이름을 변경 build: context: ./vendor/laravel/sail/runtimes/8.1 dockerfil..
기본 환경은 sail로 도커 띄워서 사용합니다. 프론트 개발자분이 제 로컬로 붙어서 작업하셔서 데이터는 그대로 있어야하고, 테스팅 데이터는 테스팅 데이터대로 따로 메모리에서 돌리고 싶었다! 잘되다가 언제부터인가 안되더라??? 왜??? 읭??? 그리고 테스팅을 돌리면 로컬 디비 데이터가 삭제되는것이었다. 그래서 열심히 찾았다.. 그리고 네 이녀석! 찾아내었따. // force 옵션 추가 그리고 php artisan config:clear로 셋팅 한번 밀어주고 실행하면 되었다!! (config:cache 아닙니다!!!) 아마도 캐시 해둔 데이터가 있어서 테스팅 환경에서 다시 불러오지 않는것 같다. 그래서 강제로 불러오도록 설정해주는 옵션이더라.. 테스팅 환경 따로 구성하즈아~!!!! https://stack..
일단 나는 도커 수업을 먼저 들었었고, 조금... 매우 조금만 익숙한 상태이다. 먼저 도커부터 깔아주시고!!! https://laravel.kr/docs/8.x/sail#%EA%B8%B0%EC%A1%B4%20%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90%20Sail%20%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 라라벨 8.x - 세일-Sail 라라벨 한글 메뉴얼 8.x - 세일-Sail laravel.kr 이 부분을 보면, 세일 까는거 나온당. // 컴포저 설치 > brew install composer > composer require laravel/sail // 루트에 docker-compose.yml파일을 생..
먼저 수정 해야 할 파일의 위치를 알아야한다. sort_buffer_size를 조정 해야하는데, my.cnf파일에 추가 해야한다. 위치를 알아보자. ➜ / mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf 이렇게 표시된다. 그리고 보통은 /usr/local/etc/my.cnf /usr/local/Cellar/mariadb/10.5.9/.bottle/etc/my.cnf 맥 인텔 계열일 경우 위와 같은 경로로 찾을 수 있고, m1인 경우는 /opt/homebrew/etc/my.cnf /opt/homebrew/Cel..
[client] socket = /opt/homebrew/var/mysql/mysql.sock [mysqld] socket = /opt/homebrew/var/mysql/mysql.sock 를 my.cnf에 추가. (/opt/homebrew/etc/my.cnf) 했는데도 비슷한 패턴으로 오류가 난다!!!!! 아마 서버를 켜려고 하거나 brew services restart mysql하면 리스타팅 되는것처럼 보일지도 모른다. 그러나 이런 문제가 계속 반복이 되면 설치했을때 내가 거지같이 설치하진 않았는지 점검 해봐야한당. 삭제하고 다시 설치했다. ➜ etc git:(stable) brew install mysql ==> Downloading https://ghcr.io/v2/homebrew/core/mys..
- Total
- Today
- Yesterday
- 프로그래밍은디버거부터시작이다
- 배열을_이쁘게
- gcp
- UTF8
- Testing
- 테스팅환경
- 엘라스틱서치한글성공!
- xml로도
- twoseven.kr/0410
- 테스팅
- 더미데이터도유형이있어요
- JSON으로도
- PhpStorm
- twoserven.kr/0410
- fmf
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |