라라벨에서 tinker(‘어설프게 손보고 고치다’)라는 코맨드를 제공합니다. 많이 사용하고 있는 MySQl-WorkBench, DataGrid 툴도 있지만 라라벨의 모든 환경에서 동작하고 쉽게 테스트 할 수 있는 정도의 쿼리를 빌드한다면 한번 이용해 보는 것도 좋은 방법일 듯 합니다. 물론 이제 사용해 보면 약간 불편한 것도 사실입니다.
Laravel Tinker Shell 이란?
-
PsySH 콘솔을 사용하는 강력한 REPL(Read-Eval-Print-Loop)
-
REPL 이란 단일 사용자 입력을 받아 평가하고 결과를 사용자에게 반환하는 대화 형 셸 유형
-
셸의 명령 줄에서 Laravel 응용 프로그램과 상호 작용
시작하기
1 2 3 |
$ php artisan tinker Psy Shell v0.8.18 (PHP 7.2.4 — cli) by Justin Hileman >>> |
insert
앞서 마이그레이션 하여 생성한 테이블에 tinker를 사용하여 insert 과 DB Query를 살펴보도록 하겠습니다.
1 |
mysql> insert into boards(name, user_id) values('steven', 1); |
1 2 3 4 |
$ php artisan tinker Psy Shell v0.8.18 (PHP 7.2.4 — cli) by Justin Hileman >>>DB::insert('insert into boards(name, user_id) values(?, ?)', ['steven','1']); => true |
사용법
1 |
DB::insert('insert into 테이블명(컬럼1, 컬럼2 ...) values(? , ? ...)', [값1, 값2 ...]); |
selectOne
위에서 추가한 내용을 확인시 다음과 같이 쉘 명령을 내리면 Object 형식으로 응답이 오는 것을 확인할 수 있습니다.
1 2 3 4 5 6 7 8 9 |
>>> $board = DB::selectOne('select * from boards where user_id = ?',[1]); => {#759 +"id": 1, +"name": "steven", +"user_id": 1, +"created_at": null, +"updated_at": null, } >>> |
사용법
DB::selectOne('select 컬럼명 from 테이블명 where [조건]', [값]);
update
해당 데이타에 대해 업데이트 방법은 다음과 같습니다.
1 2 3 4 5 |
>>> DB::update('update boards set name="steven1004" where user_id = ?', [3]); => 0 # 해당 내용에 대해 업데이트 실패 시 결과 값 >>> DB::update('update boards set name="steven1004" where user_id = ?', [1]); => 1 # 해당 내용에 대해 업데이트 성공 시 결과 값 >>> |
PHP 라라벨 5 On Mac 포스팅
[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들
[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework
[PHP 라라벨 5 On Mac] 3 : Framework
[PHP 라라벨 5 On Mac] 4 : Routing
[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)
[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)
[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)
[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)
[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)
[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)
[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)
[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell
[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)
[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1
[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2
[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3
Leave a Reply
Want to join the discussion?Feel free to contribute!