[{"data":1,"prerenderedAt":469},["ShallowReactive",2],{"navigation-ja":3,"navigation-v1":81,"\u002Fja\u002Fguide":146,"\u002Fja\u002Fguide-surround":316,"\u002Fja\u002Fguide-og":319},[4,55,77],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"ガイド","\u002Fja\u002Fguide","ja\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},"プロローグ","\u002Fja\u002Fguide\u002Fprologue","ja\u002F1.guide\u002F00.prologue",{"title":16,"path":17,"stem":18},"はじめに","\u002Fja\u002Fguide\u002Fgetting-started","ja\u002F1.guide\u002F02.getting-started",{"title":20,"path":21,"stem":22},"モデル","\u002Fja\u002Fguide\u002Fmodels","ja\u002F1.guide\u002F03.models",{"title":24,"path":25,"stem":26},"リレーション","\u002Fja\u002Fguide\u002Frelationships","ja\u002F1.guide\u002F04.relationships",{"title":28,"path":29,"stem":30},"フック","\u002Fja\u002Fguide\u002Fhooks","ja\u002F1.guide\u002F05.hooks",{"title":32,"path":33,"stem":34},"検索","\u002Fja\u002Fguide\u002Fsearch","ja\u002F1.guide\u002F06.search",{"title":36,"path":37,"stem":38},"バッチ操作","\u002Fja\u002Fguide\u002Fbatch-operations","ja\u002F1.guide\u002F07.batch-operations",{"title":40,"path":41,"stem":42},"クエリパラメータ","\u002Fja\u002Fguide\u002Fquery-parameters","ja\u002F1.guide\u002F08.query-parameters",{"title":44,"path":45,"stem":46},"セキュリティ","\u002Fja\u002Fguide\u002Fsecurity","ja\u002F1.guide\u002F09.security",{"title":48,"path":49,"stem":50},"レスポンス","\u002Fja\u002Fguide\u002Fresponses","ja\u002F1.guide\u002F10.responses",{"title":52,"path":53,"stem":54},"仕様書","\u002Fja\u002Fguide\u002Fspecifications","ja\u002F1.guide\u002F11.specifications",{"title":56,"path":57,"stem":58,"children":59},"TypeScript SDK","\u002Fja\u002Ftypescript-sdk","ja\u002F2.typescript-sdk\u002F01.index",[60,61,64,68,71,74],{"title":10,"path":57,"stem":58},{"title":16,"path":62,"stem":63},"\u002Fja\u002Ftypescript-sdk\u002Fgetting-started","ja\u002F2.typescript-sdk\u002F02.getting-started",{"title":65,"path":66,"stem":67},"設定","\u002Fja\u002Ftypescript-sdk\u002Fconfiguration","ja\u002F2.typescript-sdk\u002F03.configuration",{"title":20,"path":69,"stem":70},"\u002Fja\u002Ftypescript-sdk\u002Fmodels","ja\u002F2.typescript-sdk\u002F04.models",{"title":24,"path":72,"stem":73},"\u002Fja\u002Ftypescript-sdk\u002Frelationships","ja\u002F2.typescript-sdk\u002F05.relationships",{"title":40,"path":75,"stem":76},"\u002Fja\u002Ftypescript-sdk\u002Fquery-parameters","ja\u002F2.typescript-sdk\u002F06.query-parameters",{"title":78,"path":79,"stem":80},"スクリーンキャスト","\u002Fja\u002Fscreencasts","ja\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":309,"extension":310,"links":311,"meta":312,"navigation":313,"path":6,"seo":314,"stem":7,"__hash__":315},"docs_ja\u002Fja\u002F1.guide\u002F01.index.md",{"type":149,"value":150,"toc":302},"minimark",[151,155,159,199,225,231,234],[152,153,154],"h2",{"id":154},"仕組み",[156,157,158],"p",{},"Orionは、Eloquentモデルとリレーション、ポリシー、リクエストクラス、APIリソースといったLaravelの最も強力な機能を活用しています。そのため、非常に強力で拡張性が高い一方で、簡単に使い始めることができます。",[156,160,161,162,166,167,166,170,166,173,166,176,166,179,166,182,185,186,166,189,166,192,166,195,198],{},"コントローラーを作成し、APIで管理したいEloquentモデルに関連付けるだけで、残りの処理はOrionが引き受けます。",[163,164,165],"code",{},"index","、",[163,168,169],{},"search",[163,171,172],{},"show",[163,174,175],{},"store",[163,177,178],{},"update",[163,180,181],{},"destroy",[163,183,184],{},"restore","および",[163,187,188],{},"batchStore",[163,190,191],{},"batchUpdate",[163,193,194],{},"batchDestroy",[163,196,197],{},"batchRestore","の各操作のエンドポイントが、適切な認可、バリデーション、エラー処理とともに最初から用意されています(もちろん、ポリシーとリクエストクラスは自分で定義する必要があります)。",[156,200,201,202,205,206,166,209,205,212,166,215,166,218,166,221,224],{},"しかし、それだけではありません。リレーションコントローラーを定義すれば、APIの利用者はあらゆる種類のリレーションを管理できるようになります。文字どおりすべて、つまりCRUD操作に加えて",[163,203,204],{},"associate","\u002F",[163,207,208],{},"dissociate",[163,210,211],{},"attach",[163,213,214],{},"detach",[163,216,217],{},"sync",[163,219,220],{},"toggle",[163,222,223],{},"updatePivot","が、標準化されたREST APIを通じて利用できます。",[156,226,227,228,230],{},"さらに、モデルコントローラーとリレーションコントローラーの両方の",[163,229,169],{},"エンドポイントでは、さまざまなクエリ制約を適用して、フィルタリングされた結果を取得できます。",[152,232,233],{"id":233},"機能",[235,236,237,248,263,269,274,285,296],"ul",{},[238,239,240,241,244,245,247],"li",{},"バッチ操作に対応した",[242,243,20],"a",{"href":21},"と",[242,246,24],{"href":25},"のREST API",[238,249,250,166,254,166,258,262],{},[242,251,253],{"href":252},"\u002Fja\u002Fguide\u002Fsearch#%E3%82%BD%E3%83%BC%E3%83%88","ソート",[242,255,257],{"href":256},"\u002Fja\u002Fguide\u002Fsearch#%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0","フィルタリング",[242,259,261],{"href":260},"\u002Fja\u002Fguide\u002Fsearch#%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89%E6%A4%9C%E7%B4%A2","キーワード検索","による高度な検索機能",[238,264,265,266,268],{},"OpenAPI",[242,267,52],{"href":53},"の自動生成",[238,270,271,272],{},"充実したエンドポイント",[242,273,28],{"href":29},[238,275,276,277,244,281],{},"クエリパラメータによる",[242,278,280],{"href":279},"\u002Fja\u002Fguide\u002Fquery-parameters#%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%89","リレーションのインクルード",[242,282,284],{"href":283},"\u002Fja\u002Fguide\u002Fquery-parameters#%E3%82%BD%E3%83%95%E3%83%88%E3%83%87%E3%83%AA%E3%83%BC%E3%83%88","ソフトデリート",[238,286,287,288,244,292],{},"わかりやすい",[242,289,291],{"href":290},"\u002Fja\u002Fguide\u002Fsecurity#%E8%AA%8D%E5%8F%AF","認可",[242,293,295],{"href":294},"\u002Fja\u002Fguide\u002Fsecurity#%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3","バリデーション",[238,297,298,299,301],{},"APIリソースによる",[242,300,48],{"href":49},"の変換",{"title":303,"searchDepth":304,"depth":305,"links":306},"",1,2,[307,308],{"id":154,"depth":305,"text":154},{"id":233,"depth":305,"text":233},"Orion for Laravelのドキュメントへようこそ。","md",null,{},true,{"title":10,"description":309},"L-ETxcNJk6b6NI_b76YPZ1bVXbqtHyN08kHwR5TR5Iw",[311,317],{"title":12,"path":13,"stem":14,"description":318,"children":-1},"Orion for Laravel 2.0の変更点と新機能について説明します。",{"id":320,"title":88,"body":321,"description":463,"extension":310,"links":311,"meta":464,"navigation":313,"path":465,"seo":466,"stem":467,"__hash__":468},"docs_en\u002F1.guide\u002F01.index.md",{"type":149,"value":322,"toc":459},[323,327,330,358,376,382,386],[152,324,326],{"id":325},"how-it-works","How It Works",[156,328,329],{},"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.",[156,331,332,333,335,336,335,338,335,340,335,342,335,344,335,346,348,349,335,351,335,353,335,355,357],{},"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 ",[163,334,165],{},", ",[163,337,169],{},[163,339,172],{},[163,341,175],{},[163,343,178],{},[163,345,181],{},[163,347,184],{}," and ",[163,350,188],{},[163,352,191],{},[163,354,194],{},[163,356,197],{}," operations will already be there with proper authorization, validation and error handling (you need to define policies and request classes yourself, of course).",[156,359,360,361,205,363,335,365,205,367,335,369,335,371,335,373,375],{},"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 ",[163,362,204],{},[163,364,208],{},[163,366,211],{},[163,368,214],{},[163,370,217],{},[163,372,220],{},[163,374,223],{}," as well as CRUD operations are available via a standardized REST API.",[156,377,378,379,381],{},"And, as a bonus, the ",[163,380,169],{}," endpoint on both model and relationship controllers allows applying all sorts of query constraints to retrieve filtered results.",[152,383,385],{"id":384},"features","Features",[235,387,388,400,416,424,431,442,453],{},[238,389,390,391,348,395,399],{},"REST API for ",[242,392,394],{"href":393},"\u002Fguide\u002Fmodels","models",[242,396,398],{"href":397},"\u002Fguide\u002Frelationships","relationships"," with batch operations support",[238,401,402,403,335,407,411,412],{},"Advanced searching capabilities with ",[242,404,406],{"href":405},"\u002Fguide\u002Fsearch#sorting","sorting",[242,408,410],{"href":409},"\u002Fguide\u002Fsearch#filtering","filtering",", and ",[242,413,415],{"href":414},"\u002Fguide\u002Fsearch#keyword-search","keyword search",[238,417,418,419,423],{},"Automatic OpenAPI ",[242,420,422],{"href":421},"\u002Fguide\u002Fspecifications","specifications"," generation",[238,425,426,427],{},"Comprehensive set of endpoint ",[242,428,430],{"href":429},"\u002Fguide\u002Fhooks","hooks",[238,432,433,348,437,441],{},[242,434,436],{"href":435},"\u002Fguide\u002Fquery-parameters#including-relations","Relations inclusion",[242,438,440],{"href":439},"\u002Fguide\u002Fquery-parameters#soft-deletes","soft deletes"," via query parameters",[238,443,444,445,348,449],{},"Straightforward ",[242,446,448],{"href":447},"\u002Fguide\u002Fsecurity#authorization","authorization",[242,450,452],{"href":451},"\u002Fguide\u002Fsecurity#validation","validation",[238,454,455,458],{},[242,456,122],{"href":457},"\u002Fguide\u002Fresponses"," transformation via API resources",{"title":303,"searchDepth":304,"depth":305,"links":460},[461,462],{"id":325,"depth":305,"text":326},{"id":384,"depth":305,"text":385},"Welcome to Orion for Laravel documentation.",{},"\u002Fguide",{"title":88,"description":463},"1.guide\u002F01.index","rZQQYNq4V63jg9XuaTQORUeb2PQsg7YS9UoXBc-E4Io",1784394451876]