[{"data":1,"prerenderedAt":470},["ShallowReactive",2],{"navigation-ko":3,"navigation-v1":81,"\u002Fko\u002Fguide":146,"\u002Fko\u002Fguide-surround":318,"\u002Fko\u002Fguide-og":321},[4,55,77],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"가이드","\u002Fko\u002Fguide","ko\u002F1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43,47,51],{"title":10,"path":6,"stem":7},"소개",{"title":12,"path":13,"stem":14},"프롤로그","\u002Fko\u002Fguide\u002Fprologue","ko\u002F1.guide\u002F00.prologue",{"title":16,"path":17,"stem":18},"시작하기","\u002Fko\u002Fguide\u002Fgetting-started","ko\u002F1.guide\u002F02.getting-started",{"title":20,"path":21,"stem":22},"모델","\u002Fko\u002Fguide\u002Fmodels","ko\u002F1.guide\u002F03.models",{"title":24,"path":25,"stem":26},"연관관계","\u002Fko\u002Fguide\u002Frelationships","ko\u002F1.guide\u002F04.relationships",{"title":28,"path":29,"stem":30},"훅","\u002Fko\u002Fguide\u002Fhooks","ko\u002F1.guide\u002F05.hooks",{"title":32,"path":33,"stem":34},"검색","\u002Fko\u002Fguide\u002Fsearch","ko\u002F1.guide\u002F06.search",{"title":36,"path":37,"stem":38},"일괄 작업","\u002Fko\u002Fguide\u002Fbatch-operations","ko\u002F1.guide\u002F07.batch-operations",{"title":40,"path":41,"stem":42},"쿼리 파라미터","\u002Fko\u002Fguide\u002Fquery-parameters","ko\u002F1.guide\u002F08.query-parameters",{"title":44,"path":45,"stem":46},"보안","\u002Fko\u002Fguide\u002Fsecurity","ko\u002F1.guide\u002F09.security",{"title":48,"path":49,"stem":50},"응답","\u002Fko\u002Fguide\u002Fresponses","ko\u002F1.guide\u002F10.responses",{"title":52,"path":53,"stem":54},"명세","\u002Fko\u002Fguide\u002Fspecifications","ko\u002F1.guide\u002F11.specifications",{"title":56,"path":57,"stem":58,"children":59},"TypeScript SDK","\u002Fko\u002Ftypescript-sdk","ko\u002F2.typescript-sdk\u002F01.index",[60,61,64,68,71,74],{"title":10,"path":57,"stem":58},{"title":16,"path":62,"stem":63},"\u002Fko\u002Ftypescript-sdk\u002Fgetting-started","ko\u002F2.typescript-sdk\u002F02.getting-started",{"title":65,"path":66,"stem":67},"설정","\u002Fko\u002Ftypescript-sdk\u002Fconfiguration","ko\u002F2.typescript-sdk\u002F03.configuration",{"title":20,"path":69,"stem":70},"\u002Fko\u002Ftypescript-sdk\u002Fmodels","ko\u002F2.typescript-sdk\u002F04.models",{"title":24,"path":72,"stem":73},"\u002Fko\u002Ftypescript-sdk\u002Frelationships","ko\u002F2.typescript-sdk\u002F05.relationships",{"title":40,"path":75,"stem":76},"\u002Fko\u002Ftypescript-sdk\u002Fquery-parameters","ko\u002F2.typescript-sdk\u002F06.query-parameters",{"title":78,"path":79,"stem":80},"스크린캐스트","\u002Fko\u002Fscreencasts","ko\u002Fscreencasts",[82,125],{"title":83,"path":84,"stem":85,"children":86},"Guide","\u002Fv1.x\u002Fguide","v1.x\u002F1.guide\u002F01.index",[87,89,93,97,101,105,109,113,117,121],{"title":88,"path":84,"stem":85},"Introduction",{"title":90,"path":91,"stem":92},"Getting Started","\u002Fv1.x\u002Fguide\u002Fgetting-started","v1.x\u002F1.guide\u002F02.getting-started",{"title":94,"path":95,"stem":96},"Models","\u002Fv1.x\u002Fguide\u002Fmodels","v1.x\u002F1.guide\u002F03.models",{"title":98,"path":99,"stem":100},"Relationships","\u002Fv1.x\u002Fguide\u002Frelationships","v1.x\u002F1.guide\u002F04.relationships",{"title":102,"path":103,"stem":104},"Hooks","\u002Fv1.x\u002Fguide\u002Fhooks","v1.x\u002F1.guide\u002F05.hooks",{"title":106,"path":107,"stem":108},"Search","\u002Fv1.x\u002Fguide\u002Fsearch","v1.x\u002F1.guide\u002F06.search",{"title":110,"path":111,"stem":112},"Batch Operations","\u002Fv1.x\u002Fguide\u002Fbatch-operations","v1.x\u002F1.guide\u002F07.batch-operations",{"title":114,"path":115,"stem":116},"Query Parameters","\u002Fv1.x\u002Fguide\u002Fquery-parameters","v1.x\u002F1.guide\u002F08.query-parameters",{"title":118,"path":119,"stem":120},"Security","\u002Fv1.x\u002Fguide\u002Fsecurity","v1.x\u002F1.guide\u002F09.security",{"title":122,"path":123,"stem":124},"Responses","\u002Fv1.x\u002Fguide\u002Fresponses","v1.x\u002F1.guide\u002F10.responses",{"title":56,"path":126,"stem":127,"children":128},"\u002Fv1.x\u002Ftypescript-sdk","v1.x\u002F2.typescript-sdk\u002F01.index",[129,130,133,137,140,143],{"title":88,"path":126,"stem":127},{"title":90,"path":131,"stem":132},"\u002Fv1.x\u002Ftypescript-sdk\u002Fgetting-started","v1.x\u002F2.typescript-sdk\u002F02.getting-started",{"title":134,"path":135,"stem":136},"Configuration","\u002Fv1.x\u002Ftypescript-sdk\u002Fconfiguration","v1.x\u002F2.typescript-sdk\u002F03.configuration",{"title":94,"path":138,"stem":139},"\u002Fv1.x\u002Ftypescript-sdk\u002Fmodels","v1.x\u002F2.typescript-sdk\u002F04.models",{"title":98,"path":141,"stem":142},"\u002Fv1.x\u002Ftypescript-sdk\u002Frelationships","v1.x\u002F2.typescript-sdk\u002F05.relationships",{"title":114,"path":144,"stem":145},"\u002Fv1.x\u002Ftypescript-sdk\u002Fquery-parameters","v1.x\u002F2.typescript-sdk\u002F06.query-parameters",{"id":147,"title":10,"body":148,"description":311,"extension":312,"links":313,"meta":314,"navigation":315,"path":6,"seo":316,"stem":7,"__hash__":317},"docs_ko\u002Fko\u002F1.guide\u002F01.index.md",{"type":149,"value":150,"toc":304},"minimark",[151,156,160,200,226,232,235],[152,153,155],"h2",{"id":154},"동작-방식","동작 방식",[157,158,159],"p",{},"Orion은 Eloquent 모델과 연관관계, 정책, 요청 클래스, API 리소스 등 Laravel의 가장 강력한 기능을 활용합니다. 덕분에 매우 강력하고 확장성이 뛰어나면서도 손쉽게 시작할 수 있습니다.",[157,161,162,163,167,168,167,171,167,174,167,177,167,180,167,183,186,187,167,190,167,193,167,196,199],{},"컨트롤러를 생성하고 API로 관리할 Eloquent 모델을 연결하기만 하면, 나머지 REST 처리는 Orion이 대신합니다. ",[164,165,166],"code",{},"index",", ",[164,169,170],{},"search",[164,172,173],{},"show",[164,175,176],{},"store",[164,178,179],{},"update",[164,181,182],{},"destroy",[164,184,185],{},"restore"," 및 ",[164,188,189],{},"batchStore",[164,191,192],{},"batchUpdate",[164,194,195],{},"batchDestroy",[164,197,198],{},"batchRestore"," 작업을 위한 모든 엔드포인트가 적절한 인가, 유효성 검사, 오류 처리와 함께 준비됩니다 (물론 정책과 요청 클래스는 직접 정의해야 합니다).",[157,201,202,203,206,207,167,210,206,213,167,216,167,219,167,222,225],{},"여기서 끝이 아닙니다. 연관관계 컨트롤러를 정의하면 API 소비자가 모든 유형의 연관관계를 관리할 수 있습니다. 말 그대로 전부입니다. 즉 ",[164,204,205],{},"associate","\u002F",[164,208,209],{},"dissociate",[164,211,212],{},"attach",[164,214,215],{},"detach",[164,217,218],{},"sync",[164,220,221],{},"toggle",[164,223,224],{},"updatePivot","은 물론 CRUD 작업까지 표준화된 REST API로 제공됩니다.",[157,227,228,229,231],{},"보너스로, 모델 컨트롤러와 연관관계 컨트롤러 모두에서 ",[164,230,170],{}," 엔드포인트를 통해 다양한 쿼리 제약 조건을 적용하여 필터링된 결과를 조회할 수 있습니다.",[152,233,234],{"id":234},"기능",[236,237,238,248,263,269,275,287,298],"ul",{},[239,240,241,242,186,245,247],"li",{},"일괄 작업을 지원하는 ",[243,244,20],"a",{"href":21},[243,246,24],{"href":25}," REST API",[239,249,250,167,254,167,258,262],{},[243,251,253],{"href":252},"\u002Fko\u002Fguide\u002Fsearch#%EC%A0%95%EB%A0%AC","정렬",[243,255,257],{"href":256},"\u002Fko\u002Fguide\u002Fsearch#%ED%95%84%ED%84%B0%EB%A7%81","필터링",[243,259,261],{"href":260},"\u002Fko\u002Fguide\u002Fsearch#%ED%82%A4%EC%9B%8C%EB%93%9C-%EA%B2%80%EC%83%89","키워드 검색","을 갖춘 고급 검색 기능",[239,264,265,266,268],{},"OpenAPI ",[243,267,52],{"href":53}," 자동 생성",[239,270,271,272,274],{},"포괄적인 엔드포인트 ",[243,273,28],{"href":29}," 지원",[239,276,277,278,186,282,286],{},"쿼리 파라미터를 통한 ",[243,279,281],{"href":280},"\u002Fko\u002Fguide\u002Fquery-parameters#%EC%97%B0%EA%B4%80%EA%B4%80%EA%B3%84-%ED%8F%AC%ED%95%A8","연관관계 포함",[243,283,285],{"href":284},"\u002Fko\u002Fguide\u002Fquery-parameters#%EC%86%8C%ED%94%84%ED%8A%B8-%EC%82%AD%EC%A0%9C","소프트 삭제"," 처리",[239,288,289,290,186,294],{},"간단명료한 ",[243,291,293],{"href":292},"\u002Fko\u002Fguide\u002Fsecurity#%EC%9D%B8%EA%B0%80","인가",[243,295,297],{"href":296},"\u002Fko\u002Fguide\u002Fsecurity#%EC%9C%A0%ED%9A%A8%EC%84%B1-%EA%B2%80%EC%82%AC","유효성 검사",[239,299,300,301,303],{},"API 리소스를 통한 ",[243,302,48],{"href":49}," 변환",{"title":305,"searchDepth":306,"depth":307,"links":308},"",1,2,[309,310],{"id":154,"depth":307,"text":155},{"id":234,"depth":307,"text":234},"Orion for Laravel 문서에 오신 것을 환영합니다.","md",null,{},true,{"title":10,"description":311},"IKDE11Wy8HRKDrzcJN6WkdrMs8kdMryuE4eYPa34E1g",[313,319],{"title":12,"path":13,"stem":14,"description":320,"children":-1},"Orion for Laravel 2.0의 변경 사항과 새로운 기능을 알아봅니다.",{"id":322,"title":88,"body":323,"description":464,"extension":312,"links":313,"meta":465,"navigation":315,"path":466,"seo":467,"stem":468,"__hash__":469},"docs_en\u002F1.guide\u002F01.index.md",{"type":149,"value":324,"toc":460},[325,329,332,359,377,383,387],[152,326,328],{"id":327},"how-it-works","How It Works",[157,330,331],{},"Orion uses the most powerful features of Laravel: Eloquent models and relationships, policies, request classes, and API resources, which makes it incredibly powerful and extensible, yet simple to get started with.",[157,333,334,335,167,337,167,339,167,341,167,343,167,345,167,347,349,350,167,352,167,354,167,356,358],{},"You create a controller, associate it with an Eloquent model you would like to manage via the API and let Orion do the REST (see what I've done here 😄 ) for you! All endpoints for ",[164,336,166],{},[164,338,170],{},[164,340,173],{},[164,342,176],{},[164,344,179],{},[164,346,182],{},[164,348,185],{}," and ",[164,351,189],{},[164,353,192],{},[164,355,195],{},[164,357,198],{}," operations will already be there with proper authorization, validation and error handling (you need to define policies and request classes yourself, of course).",[157,360,361,362,206,364,167,366,206,368,167,370,167,372,167,374,376],{},"But it does not end here. Define relationship controllers, and it will allow your API consumers to manage all types of relations. Yes, all, which means ",[164,363,205],{},[164,365,209],{},[164,367,212],{},[164,369,215],{},[164,371,218],{},[164,373,221],{},[164,375,224],{}," as well as CRUD operations are available via a standardized REST API.",[157,378,379,380,382],{},"And, as a bonus, the ",[164,381,170],{}," endpoint on both model and relationship controllers allows applying all sorts of query constraints to retrieve filtered results.",[152,384,386],{"id":385},"features","Features",[236,388,389,401,417,425,432,443,454],{},[239,390,391,392,349,396,400],{},"REST API for ",[243,393,395],{"href":394},"\u002Fguide\u002Fmodels","models",[243,397,399],{"href":398},"\u002Fguide\u002Frelationships","relationships"," with batch operations support",[239,402,403,404,167,408,412,413],{},"Advanced searching capabilities with ",[243,405,407],{"href":406},"\u002Fguide\u002Fsearch#sorting","sorting",[243,409,411],{"href":410},"\u002Fguide\u002Fsearch#filtering","filtering",", and ",[243,414,416],{"href":415},"\u002Fguide\u002Fsearch#keyword-search","keyword search",[239,418,419,420,424],{},"Automatic OpenAPI ",[243,421,423],{"href":422},"\u002Fguide\u002Fspecifications","specifications"," generation",[239,426,427,428],{},"Comprehensive set of endpoint ",[243,429,431],{"href":430},"\u002Fguide\u002Fhooks","hooks",[239,433,434,349,438,442],{},[243,435,437],{"href":436},"\u002Fguide\u002Fquery-parameters#including-relations","Relations inclusion",[243,439,441],{"href":440},"\u002Fguide\u002Fquery-parameters#soft-deletes","soft deletes"," via query parameters",[239,444,445,446,349,450],{},"Straightforward ",[243,447,449],{"href":448},"\u002Fguide\u002Fsecurity#authorization","authorization",[243,451,453],{"href":452},"\u002Fguide\u002Fsecurity#validation","validation",[239,455,456,459],{},[243,457,122],{"href":458},"\u002Fguide\u002Fresponses"," transformation via API resources",{"title":305,"searchDepth":306,"depth":307,"links":461},[462,463],{"id":327,"depth":307,"text":328},{"id":385,"depth":307,"text":386},"Welcome to Orion for Laravel documentation.",{},"\u002Fguide",{"title":88,"description":464},"1.guide\u002F01.index","rZQQYNq4V63jg9XuaTQORUeb2PQsg7YS9UoXBc-E4Io",1784394458073]