[{"data":1,"prerenderedAt":8752},["ShallowReactive",2],{"navigation-ja":3,"navigation-v1":81,"\u002Fja\u002Fguide\u002Frelationships":146,"\u002Fja\u002Fguide\u002Frelationships-surround":4686,"\u002Fja\u002Fguide\u002Frelationships-og":4691},[4,55,77],{"title":5,"path":6,"stem":7,"children":8},"ガイド","\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":24,"body":148,"description":4680,"extension":4681,"links":4682,"meta":4683,"navigation":187,"path":25,"seo":4684,"stem":26,"__hash__":4685},"docs_ja\u002Fja\u002F1.guide\u002F04.relationships.md",{"type":149,"value":150,"toc":4651},"minimark",[151,155,159,392,395,400,418,438,456,486,489,492,1046,1049,1060,1220,1234,1380,1384,1387,1421,1436,1450,1456,1496,1501,1671,1694,1698,1701,1716,1748,1752,1791,1795,2175,2179,2185,2195,2200,2236,2240,2246,2252,2255,2258,2268,2301,2305,2344,2348,2800,2818,2821,2833,2847,2852,2866,2871,2918,2923,3082,3085,3090,3096,3115,3119,3161,3165,3263,3267,3277,3286,3291,3300,3304,3342,3346,3455,3458,3468,3477,3481,3519,3523,3632,3635,3646,3651,3655,3736,3739,3746,3749,3999,4002,4009,4311,4314,4321,4324,4469,4473,4531,4534,4639,4647],[152,153,154],"h2",{"id":154},"コントローラーのセットアップ",[156,157,158],"p",{},"モデルリレーションのコントローラーの定義は、モデルコントローラーの定義とよく似ています。",[160,161,166],"pre",{"className":162,"code":163,"language":164,"meta":165,"style":165},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Post;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass PostCommentsController extends RelationController\n{\n    \u002F**\n     * モデルの完全修飾クラス名\n     *\u002F\n    protected $model = Post::class; \u002F\u002F または \"App\\Models\\Post\"\n\n    \u002F**\n     * Post モデルで定義されているリレーション名\n     *\u002F\n    protected $relation = 'comments';\n}\n","php","",[167,168,169,182,189,219,224,243,266,271,287,293,300,306,312,341,346,351,357,362,386],"code",{"__ignoreMap":165},[170,171,174,178],"span",{"class":172,"line":173},"line",1,[170,175,177],{"class":176},"sMK4o","\u003C?",[170,179,181],{"class":180},"sTEyZ","php\n",[170,183,185],{"class":172,"line":184},2,[170,186,188],{"emptyLinePlaceholder":187},true,"\n",[170,190,192,196,200,203,206,208,211,213,216],{"class":172,"line":191},3,[170,193,195],{"class":194},"sbssI","namespace",[170,197,199],{"class":198},"sBMFI"," App",[170,201,202],{"class":176},"\\",[170,204,205],{"class":198},"Http",[170,207,202],{"class":176},[170,209,210],{"class":198},"Controllers",[170,212,202],{"class":176},[170,214,215],{"class":198},"Api",[170,217,218],{"class":176},";\n",[170,220,222],{"class":172,"line":221},4,[170,223,188],{"emptyLinePlaceholder":187},[170,225,227,230,232,234,236,238,241],{"class":172,"line":226},5,[170,228,229],{"class":194},"use",[170,231,199],{"class":180},[170,233,202],{"class":176},[170,235,94],{"class":180},[170,237,202],{"class":176},[170,239,240],{"class":180},"Post",[170,242,218],{"class":176},[170,244,246,248,251,253,255,257,259,261,264],{"class":172,"line":245},6,[170,247,229],{"class":194},[170,249,250],{"class":180}," Orion",[170,252,202],{"class":176},[170,254,205],{"class":180},[170,256,202],{"class":176},[170,258,210],{"class":180},[170,260,202],{"class":176},[170,262,263],{"class":180},"RelationController",[170,265,218],{"class":176},[170,267,269],{"class":172,"line":268},7,[170,270,188],{"emptyLinePlaceholder":187},[170,272,274,278,281,284],{"class":172,"line":273},8,[170,275,277],{"class":276},"spNyl","class",[170,279,280],{"class":198}," PostCommentsController",[170,282,283],{"class":276}," extends",[170,285,286],{"class":198}," RelationController\n",[170,288,290],{"class":172,"line":289},9,[170,291,292],{"class":176},"{\n",[170,294,296],{"class":172,"line":295},10,[170,297,299],{"class":298},"sHwdD","    \u002F**\n",[170,301,303],{"class":172,"line":302},11,[170,304,305],{"class":298},"     * モデルの完全修飾クラス名\n",[170,307,309],{"class":172,"line":308},12,[170,310,311],{"class":298},"     *\u002F\n",[170,313,315,318,321,324,327,330,333,335,338],{"class":172,"line":314},13,[170,316,317],{"class":276},"    protected",[170,319,320],{"class":176}," $",[170,322,323],{"class":180},"model ",[170,325,326],{"class":176},"=",[170,328,329],{"class":198}," Post",[170,331,332],{"class":176},"::",[170,334,277],{"class":194},[170,336,337],{"class":176},";",[170,339,340],{"class":298}," \u002F\u002F または \"App\\Models\\Post\"\n",[170,342,344],{"class":172,"line":343},14,[170,345,188],{"emptyLinePlaceholder":187},[170,347,349],{"class":172,"line":348},15,[170,350,299],{"class":298},[170,352,354],{"class":172,"line":353},16,[170,355,356],{"class":298},"     * Post モデルで定義されているリレーション名\n",[170,358,360],{"class":172,"line":359},17,[170,361,311],{"class":298},[170,363,365,367,369,372,374,377,381,384],{"class":172,"line":364},18,[170,366,317],{"class":276},[170,368,320],{"class":176},[170,370,371],{"class":180},"relation ",[170,373,326],{"class":176},[170,375,376],{"class":176}," '",[170,378,380],{"class":379},"sfazB","comments",[170,382,383],{"class":176},"'",[170,385,218],{"class":176},[170,387,389],{"class":172,"line":388},19,[170,390,391],{"class":176},"}\n",[156,393,394],{},"この時点では、リレーションの種類の違いを気にする必要はありません。コントローラーはすべての種類のリレーションで同じ方法で定義します。",[396,397,399],"h3",{"id":398},"fillableなピボットフィールドとキャスト","Fillableなピボットフィールドとキャスト",[156,401,402,405,406,409,410,413,414,417],{},[167,403,404],{},"belongsToMany","または",[167,407,408],{},"morphToMany","リレーション型のコントローラーを定義していて、ピボットテーブルに追加のフィールドがある場合は、",[167,411,412],{},"protected $pivotFillable","と",[167,415,416],{},"protected $pivotJson","という2つの追加プロパティに注意が必要です。",[156,419,420,423,424,427,428,427,431,427,434,437],{},[167,421,422],{},"$pivotFillable","プロパティには、",[167,425,426],{},"attach","、",[167,429,430],{},"sync",[167,432,433],{},"toggle",[167,435,436],{},"updatePivot","エンドポイント経由で更新できるピボットテーブルのフィールドの一覧を指定します。",[156,439,440,443,444,451,452,455],{},[167,441,442],{},"$pivotJson","プロパティには、配列との相互変換を自動的にキャストしたいピボットテーブル上のjsonフィールドの一覧を指定します。関連する",[445,446,450],"a",{"href":447,"rel":448},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Feloquent-relationships#defining-custom-intermediate-table-models",[449],"nofollow","Pivotモデル","で",[167,453,454],{},"$casts","プロパティを定義済みの場合は、この指定を省略できます。",[457,458,460,463],"note",{"icon":459},"i-lucide-lightbulb",[156,461,462],{},"要点",[464,465,466,474,480],"ul",{},[467,468,469,470,473],"li",{},"モデルリレーションのコントローラーは常に",[167,471,472],{},"Orion\\Http\\Controllers\\RelationController","を継承します",[467,475,476,479],{},[167,477,478],{},"$model","プロパティには完全修飾のモデルクラス名を設定します",[467,481,482,485],{},[167,483,484],{},"$relation","プロパティにはモデル上で定義されているとおりのリレーション名を設定します",[152,487,488],{"id":488},"ルートのセットアップ",[156,490,491],{},"コントローラーとは異なり、ルートはリレーションの種類ごとに異なる方法で定義します。",[160,493,495],{"className":162,"code":494,"language":164,"meta":165,"style":165},"\u003C?php\n\nuse Illuminate\\Support\\Facades\\Route;\nuse Orion\\Facades\\Orion;\nuse App\\Http\\Controllers\\ProfileImageController;\n...\n\nRoute::group(['as' => 'api.'], function() {\n    ...\n    Orion::hasOneResource('profiles', 'image', ProfileImageController::class);\n    Orion::hasManyResource('users', 'posts', UserPostsController::class);\n    Orion::belongsToResource('posts', 'user', PostUserController::class);\n    Orion::belongsToManyResource('users', 'roles', UserRolesController::class);\n    Orion::hasOneThroughResource('posts', 'meta', PostMetaController::class);\n    Orion::hasManyThroughResource('users', 'comments', UserCommentsController::class);\n    Orion::morphOneResource('posts', 'image', PostImageController::class);\n    Orion::morphManyResource('posts', 'comments', PostCommentsController::class);\n    Orion::morphToResource('images', 'post', ImagePostController::class);\n    Orion::morphToManyResource('posts', 'tags', PostTagsController::class);\n    Orion::morphedByManyResource('tags', 'posts', TagsPostsController::class);\n    ...\n});\n\n",[167,496,497,503,507,531,548,569,574,578,620,625,667,705,742,779,816,852,888,923,961,998,1035,1040],{"__ignoreMap":165},[170,498,499,501],{"class":172,"line":173},[170,500,177],{"class":176},[170,502,181],{"class":180},[170,504,505],{"class":172,"line":184},[170,506,188],{"emptyLinePlaceholder":187},[170,508,509,511,514,516,519,521,524,526,529],{"class":172,"line":191},[170,510,229],{"class":194},[170,512,513],{"class":180}," Illuminate",[170,515,202],{"class":176},[170,517,518],{"class":180},"Support",[170,520,202],{"class":176},[170,522,523],{"class":180},"Facades",[170,525,202],{"class":176},[170,527,528],{"class":180},"Route",[170,530,218],{"class":176},[170,532,533,535,537,539,541,543,546],{"class":172,"line":221},[170,534,229],{"class":194},[170,536,250],{"class":180},[170,538,202],{"class":176},[170,540,523],{"class":180},[170,542,202],{"class":176},[170,544,545],{"class":180},"Orion",[170,547,218],{"class":176},[170,549,550,552,554,556,558,560,562,564,567],{"class":172,"line":226},[170,551,229],{"class":194},[170,553,199],{"class":180},[170,555,202],{"class":176},[170,557,205],{"class":180},[170,559,202],{"class":176},[170,561,210],{"class":180},[170,563,202],{"class":176},[170,565,566],{"class":180},"ProfileImageController",[170,568,218],{"class":176},[170,570,571],{"class":172,"line":245},[170,572,573],{"class":176},"...\n",[170,575,576],{"class":172,"line":268},[170,577,188],{"emptyLinePlaceholder":187},[170,579,580,582,584,588,591,593,596,598,601,603,606,608,611,614,617],{"class":172,"line":273},[170,581,528],{"class":198},[170,583,332],{"class":176},[170,585,587],{"class":586},"s2Zo4","group",[170,589,590],{"class":176},"([",[170,592,383],{"class":176},[170,594,595],{"class":379},"as",[170,597,383],{"class":176},[170,599,600],{"class":176}," =>",[170,602,376],{"class":176},[170,604,605],{"class":379},"api.",[170,607,383],{"class":176},[170,609,610],{"class":176},"],",[170,612,613],{"class":276}," function",[170,615,616],{"class":176},"()",[170,618,619],{"class":176}," {\n",[170,621,622],{"class":172,"line":289},[170,623,624],{"class":176},"    ...\n",[170,626,627,630,632,635,638,640,643,645,648,650,653,655,657,660,662,664],{"class":172,"line":295},[170,628,629],{"class":198},"    Orion",[170,631,332],{"class":176},[170,633,634],{"class":586},"hasOneResource",[170,636,637],{"class":176},"(",[170,639,383],{"class":176},[170,641,642],{"class":379},"profiles",[170,644,383],{"class":176},[170,646,647],{"class":176},",",[170,649,376],{"class":176},[170,651,652],{"class":379},"image",[170,654,383],{"class":176},[170,656,647],{"class":176},[170,658,659],{"class":198}," ProfileImageController",[170,661,332],{"class":176},[170,663,277],{"class":194},[170,665,666],{"class":176},");\n",[170,668,669,671,673,676,678,680,683,685,687,689,692,694,696,699,701,703],{"class":172,"line":302},[170,670,629],{"class":198},[170,672,332],{"class":176},[170,674,675],{"class":586},"hasManyResource",[170,677,637],{"class":176},[170,679,383],{"class":176},[170,681,682],{"class":379},"users",[170,684,383],{"class":176},[170,686,647],{"class":176},[170,688,376],{"class":176},[170,690,691],{"class":379},"posts",[170,693,383],{"class":176},[170,695,647],{"class":176},[170,697,698],{"class":198}," UserPostsController",[170,700,332],{"class":176},[170,702,277],{"class":194},[170,704,666],{"class":176},[170,706,707,709,711,714,716,718,720,722,724,726,729,731,733,736,738,740],{"class":172,"line":308},[170,708,629],{"class":198},[170,710,332],{"class":176},[170,712,713],{"class":586},"belongsToResource",[170,715,637],{"class":176},[170,717,383],{"class":176},[170,719,691],{"class":379},[170,721,383],{"class":176},[170,723,647],{"class":176},[170,725,376],{"class":176},[170,727,728],{"class":379},"user",[170,730,383],{"class":176},[170,732,647],{"class":176},[170,734,735],{"class":198}," PostUserController",[170,737,332],{"class":176},[170,739,277],{"class":194},[170,741,666],{"class":176},[170,743,744,746,748,751,753,755,757,759,761,763,766,768,770,773,775,777],{"class":172,"line":314},[170,745,629],{"class":198},[170,747,332],{"class":176},[170,749,750],{"class":586},"belongsToManyResource",[170,752,637],{"class":176},[170,754,383],{"class":176},[170,756,682],{"class":379},[170,758,383],{"class":176},[170,760,647],{"class":176},[170,762,376],{"class":176},[170,764,765],{"class":379},"roles",[170,767,383],{"class":176},[170,769,647],{"class":176},[170,771,772],{"class":198}," UserRolesController",[170,774,332],{"class":176},[170,776,277],{"class":194},[170,778,666],{"class":176},[170,780,781,783,785,788,790,792,794,796,798,800,803,805,807,810,812,814],{"class":172,"line":343},[170,782,629],{"class":198},[170,784,332],{"class":176},[170,786,787],{"class":586},"hasOneThroughResource",[170,789,637],{"class":176},[170,791,383],{"class":176},[170,793,691],{"class":379},[170,795,383],{"class":176},[170,797,647],{"class":176},[170,799,376],{"class":176},[170,801,802],{"class":379},"meta",[170,804,383],{"class":176},[170,806,647],{"class":176},[170,808,809],{"class":198}," PostMetaController",[170,811,332],{"class":176},[170,813,277],{"class":194},[170,815,666],{"class":176},[170,817,818,820,822,825,827,829,831,833,835,837,839,841,843,846,848,850],{"class":172,"line":348},[170,819,629],{"class":198},[170,821,332],{"class":176},[170,823,824],{"class":586},"hasManyThroughResource",[170,826,637],{"class":176},[170,828,383],{"class":176},[170,830,682],{"class":379},[170,832,383],{"class":176},[170,834,647],{"class":176},[170,836,376],{"class":176},[170,838,380],{"class":379},[170,840,383],{"class":176},[170,842,647],{"class":176},[170,844,845],{"class":198}," UserCommentsController",[170,847,332],{"class":176},[170,849,277],{"class":194},[170,851,666],{"class":176},[170,853,854,856,858,861,863,865,867,869,871,873,875,877,879,882,884,886],{"class":172,"line":353},[170,855,629],{"class":198},[170,857,332],{"class":176},[170,859,860],{"class":586},"morphOneResource",[170,862,637],{"class":176},[170,864,383],{"class":176},[170,866,691],{"class":379},[170,868,383],{"class":176},[170,870,647],{"class":176},[170,872,376],{"class":176},[170,874,652],{"class":379},[170,876,383],{"class":176},[170,878,647],{"class":176},[170,880,881],{"class":198}," PostImageController",[170,883,332],{"class":176},[170,885,277],{"class":194},[170,887,666],{"class":176},[170,889,890,892,894,897,899,901,903,905,907,909,911,913,915,917,919,921],{"class":172,"line":359},[170,891,629],{"class":198},[170,893,332],{"class":176},[170,895,896],{"class":586},"morphManyResource",[170,898,637],{"class":176},[170,900,383],{"class":176},[170,902,691],{"class":379},[170,904,383],{"class":176},[170,906,647],{"class":176},[170,908,376],{"class":176},[170,910,380],{"class":379},[170,912,383],{"class":176},[170,914,647],{"class":176},[170,916,280],{"class":198},[170,918,332],{"class":176},[170,920,277],{"class":194},[170,922,666],{"class":176},[170,924,925,927,929,932,934,936,939,941,943,945,948,950,952,955,957,959],{"class":172,"line":364},[170,926,629],{"class":198},[170,928,332],{"class":176},[170,930,931],{"class":586},"morphToResource",[170,933,637],{"class":176},[170,935,383],{"class":176},[170,937,938],{"class":379},"images",[170,940,383],{"class":176},[170,942,647],{"class":176},[170,944,376],{"class":176},[170,946,947],{"class":379},"post",[170,949,383],{"class":176},[170,951,647],{"class":176},[170,953,954],{"class":198}," ImagePostController",[170,956,332],{"class":176},[170,958,277],{"class":194},[170,960,666],{"class":176},[170,962,963,965,967,970,972,974,976,978,980,982,985,987,989,992,994,996],{"class":172,"line":388},[170,964,629],{"class":198},[170,966,332],{"class":176},[170,968,969],{"class":586},"morphToManyResource",[170,971,637],{"class":176},[170,973,383],{"class":176},[170,975,691],{"class":379},[170,977,383],{"class":176},[170,979,647],{"class":176},[170,981,376],{"class":176},[170,983,984],{"class":379},"tags",[170,986,383],{"class":176},[170,988,647],{"class":176},[170,990,991],{"class":198}," PostTagsController",[170,993,332],{"class":176},[170,995,277],{"class":194},[170,997,666],{"class":176},[170,999,1001,1003,1005,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1029,1031,1033],{"class":172,"line":1000},20,[170,1002,629],{"class":198},[170,1004,332],{"class":176},[170,1006,1007],{"class":586},"morphedByManyResource",[170,1009,637],{"class":176},[170,1011,383],{"class":176},[170,1013,984],{"class":379},[170,1015,383],{"class":176},[170,1017,647],{"class":176},[170,1019,376],{"class":176},[170,1021,691],{"class":379},[170,1023,383],{"class":176},[170,1025,647],{"class":176},[170,1027,1028],{"class":198}," TagsPostsController",[170,1030,332],{"class":176},[170,1032,277],{"class":194},[170,1034,666],{"class":176},[170,1036,1038],{"class":172,"line":1037},21,[170,1039,624],{"class":176},[170,1041,1043],{"class":172,"line":1042},22,[170,1044,1045],{"class":176},"});\n",[396,1047,1048],{"id":1048},"ソフトデリート",[156,1050,1051,1052,1055,1056,1059],{},"リレーションのモデルが",[167,1053,1054],{},"SoftDeletes","トレイトを使用していて、同じ機能をAPI経由でも公開したい場合は、リソース登録時に",[167,1057,1058],{},"withSoftDeletes","メソッドを呼び出します。",[160,1061,1063],{"className":162,"code":1062,"language":164,"meta":165,"style":165},"\u003C?php\n\nuse Illuminate\\Support\\Facades\\Route;\nuse Orion\\Facades\\Orion;\nuse App\\Http\\Controllers\\UserPostsController;\n\nRoute::group(['as' => 'api.'], function() {\n    ...\n    Orion::hasManyResource('users', 'posts', UserPostsController::class)->withSoftDeletes();\n    ...\n});\n\n",[167,1064,1065,1071,1075,1095,1111,1132,1136,1168,1172,1212,1216],{"__ignoreMap":165},[170,1066,1067,1069],{"class":172,"line":173},[170,1068,177],{"class":176},[170,1070,181],{"class":180},[170,1072,1073],{"class":172,"line":184},[170,1074,188],{"emptyLinePlaceholder":187},[170,1076,1077,1079,1081,1083,1085,1087,1089,1091,1093],{"class":172,"line":191},[170,1078,229],{"class":194},[170,1080,513],{"class":180},[170,1082,202],{"class":176},[170,1084,518],{"class":180},[170,1086,202],{"class":176},[170,1088,523],{"class":180},[170,1090,202],{"class":176},[170,1092,528],{"class":180},[170,1094,218],{"class":176},[170,1096,1097,1099,1101,1103,1105,1107,1109],{"class":172,"line":221},[170,1098,229],{"class":194},[170,1100,250],{"class":180},[170,1102,202],{"class":176},[170,1104,523],{"class":180},[170,1106,202],{"class":176},[170,1108,545],{"class":180},[170,1110,218],{"class":176},[170,1112,1113,1115,1117,1119,1121,1123,1125,1127,1130],{"class":172,"line":226},[170,1114,229],{"class":194},[170,1116,199],{"class":180},[170,1118,202],{"class":176},[170,1120,205],{"class":180},[170,1122,202],{"class":176},[170,1124,210],{"class":180},[170,1126,202],{"class":176},[170,1128,1129],{"class":180},"UserPostsController",[170,1131,218],{"class":176},[170,1133,1134],{"class":172,"line":245},[170,1135,188],{"emptyLinePlaceholder":187},[170,1137,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166],{"class":172,"line":268},[170,1139,528],{"class":198},[170,1141,332],{"class":176},[170,1143,587],{"class":586},[170,1145,590],{"class":176},[170,1147,383],{"class":176},[170,1149,595],{"class":379},[170,1151,383],{"class":176},[170,1153,600],{"class":176},[170,1155,376],{"class":176},[170,1157,605],{"class":379},[170,1159,383],{"class":176},[170,1161,610],{"class":176},[170,1163,613],{"class":276},[170,1165,616],{"class":176},[170,1167,619],{"class":176},[170,1169,1170],{"class":172,"line":273},[170,1171,624],{"class":176},[170,1173,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1207,1209],{"class":172,"line":289},[170,1175,629],{"class":198},[170,1177,332],{"class":176},[170,1179,675],{"class":586},[170,1181,637],{"class":176},[170,1183,383],{"class":176},[170,1185,682],{"class":379},[170,1187,383],{"class":176},[170,1189,647],{"class":176},[170,1191,376],{"class":176},[170,1193,691],{"class":379},[170,1195,383],{"class":176},[170,1197,647],{"class":176},[170,1199,698],{"class":198},[170,1201,332],{"class":176},[170,1203,277],{"class":194},[170,1205,1206],{"class":176},")->",[170,1208,1058],{"class":586},[170,1210,1211],{"class":176},"();\n",[170,1213,1214],{"class":172,"line":295},[170,1215,624],{"class":176},[170,1217,1218],{"class":172,"line":302},[170,1219,1045],{"class":176},[156,1221,1222,1223,413,1226,1229,1230,1233],{},"これにより",[167,1224,1225],{},"restore",[167,1227,1228],{},"batchRestore","エンドポイントが追加されます。API経由でリソースを完全削除(force delete)する方法については、関連する",[445,1231,40],{"href":1232},"\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","のセクションを参照してください。",[160,1235,1239],{"className":1236,"code":1237,"language":1238,"meta":165,"style":165},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","+--------+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+-------------------------------------------------+\n| Domain | Method    | URI                                             | Name                                   | Action                                                                    | Middleware                                      |\n+--------+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+-------------------------------------------------+\n...\n|        | POST      | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}\u002Frestore           | api.users.relation.posts.restore       | App\\Http\\Controllers\\Api\\UserPostsController@restore                      | api                                             |\n|        | POST      | api\u002Fusers\u002F{user}\u002Fposts\u002Fbatch\u002Frestore            | api.users.relation.posts.batchRestore  | App\\Http\\Controllers\\Api\\UserPostsController@batchRestore                 | api                                             |\n","bash",[167,1240,1241,1246,1287,1291,1295,1344],{"__ignoreMap":165},[170,1242,1243],{"class":172,"line":173},[170,1244,1245],{"class":198},"+--------+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+-------------------------------------------------+\n",[170,1247,1248,1251,1254,1257,1260,1263,1266,1269,1272,1275,1278,1281,1284],{"class":172,"line":184},[170,1249,1250],{"class":176},"|",[170,1252,1253],{"class":198}," Domain",[170,1255,1256],{"class":176}," |",[170,1258,1259],{"class":198}," Method",[170,1261,1262],{"class":176},"    |",[170,1264,1265],{"class":198}," URI",[170,1267,1268],{"class":176},"                                             |",[170,1270,1271],{"class":198}," Name",[170,1273,1274],{"class":176},"                                   |",[170,1276,1277],{"class":198}," Action",[170,1279,1280],{"class":176},"                                                                    |",[170,1282,1283],{"class":198}," Middleware",[170,1285,1286],{"class":176},"                                      |\n",[170,1288,1289],{"class":172,"line":191},[170,1290,1245],{"class":198},[170,1292,1293],{"class":172,"line":221},[170,1294,573],{"class":586},[170,1296,1297,1299,1302,1305,1308,1311,1314,1317,1320,1323,1326,1329,1332,1335,1338,1341],{"class":172,"line":226},[170,1298,1250],{"class":176},[170,1300,1301],{"class":176},"        |",[170,1303,1304],{"class":198}," POST",[170,1306,1307],{"class":176},"      |",[170,1309,1310],{"class":198}," api\u002Fusers\u002F",[170,1312,1313],{"class":379},"{user}",[170,1315,1316],{"class":198},"\u002Fposts\u002F",[170,1318,1319],{"class":379},"{post}",[170,1321,1322],{"class":198},"\u002Frestore",[170,1324,1325],{"class":176},"           |",[170,1327,1328],{"class":198}," api.users.relation.posts.restore",[170,1330,1331],{"class":176},"       |",[170,1333,1334],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@restore",[170,1336,1337],{"class":176},"                      |",[170,1339,1340],{"class":198}," api",[170,1342,1343],{"class":176},"                                             |\n",[170,1345,1346,1348,1350,1352,1354,1356,1358,1361,1364,1367,1370,1373,1376,1378],{"class":172,"line":245},[170,1347,1250],{"class":176},[170,1349,1301],{"class":176},[170,1351,1304],{"class":198},[170,1353,1307],{"class":176},[170,1355,1310],{"class":198},[170,1357,1313],{"class":379},[170,1359,1360],{"class":198},"\u002Fposts\u002Fbatch\u002Frestore",[170,1362,1363],{"class":176},"            |",[170,1365,1366],{"class":198}," api.users.relation.posts.batchRestore",[170,1368,1369],{"class":176},"  |",[170,1371,1372],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@batchRestore",[170,1374,1375],{"class":176},"                 |",[170,1377,1340],{"class":198},[170,1379,1343],{"class":176},[152,1381,1383],{"id":1382},"_1対1","1対1",[156,1385,1386],{},"次のリレーションは1対1のリレーションとして扱われます。",[464,1388,1389,1394,1399,1404,1413],{},[467,1390,1391],{},[167,1392,1393],{},"hasOne",[467,1395,1396],{},[167,1397,1398],{},"hasOneThrough",[467,1400,1401],{},[167,1402,1403],{},"morphOne",[467,1405,1406,637,1409,1412],{},[167,1407,1408],{},"belongsTo",[167,1410,1411],{},"hasMany","リレーションの逆)",[467,1414,1415,637,1418,1412],{},[167,1416,1417],{},"morphTo",[167,1419,1420],{},"morphMany",[156,1422,1423,1424,427,1427,427,1430,427,1433],{},"1対1のリレーションに対して、Orionは4つのエンドポイント(基本的にはCRUD操作のエンドポイント)を提供します: ",[167,1425,1426],{},"store",[167,1428,1429],{},"show",[167,1431,1432],{},"update",[167,1434,1435],{},"destroy",[1437,1438,1439],"warning",{},[156,1440,1441,1443,1444,1446,1447,1449],{},[167,1442,1408],{},"および",[167,1445,1417],{},"リレーションには",[167,1448,1426],{},"エンドポイントは提供されません。",[156,1451,1452],{},[1453,1454,1455],"strong",{},"ルート登録の例",[160,1457,1459],{"className":162,"code":1458,"language":164,"meta":165,"style":165},"Orion::hasOneResource('profiles', 'image' , ProfileImageController::class);\n",[167,1460,1461],{"__ignoreMap":165},[170,1462,1463,1465,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1488,1490,1492,1494],{"class":172,"line":173},[170,1464,545],{"class":198},[170,1466,332],{"class":176},[170,1468,634],{"class":586},[170,1470,637],{"class":176},[170,1472,383],{"class":176},[170,1474,642],{"class":379},[170,1476,383],{"class":176},[170,1478,647],{"class":176},[170,1480,376],{"class":176},[170,1482,652],{"class":379},[170,1484,383],{"class":176},[170,1486,1487],{"class":176}," ,",[170,1489,659],{"class":198},[170,1491,332],{"class":176},[170,1493,277],{"class":194},[170,1495,666],{"class":176},[156,1497,1498],{},[1453,1499,1500],{},"利用可能なエンドポイントの例",[160,1502,1504],{"className":1236,"code":1503,"language":1238,"meta":165,"style":165},"+-----------+-------------------------------------------------+------------------------------------------+---------------------------------------------------------------------------+\n| Method    | URI                                             | Name                                     | Action                                                                    |\n+-----------+-------------------------------------------------+------------------------------------------+---------------------------------------------------------------------------+\n| POST      | api\u002Fprofiles\u002F{profile}\u002Fimage                    | api.profiles.relation.image.store        | App\\Http\\Controllers\\Api\\ProfileImageController@store                     |\n| GET|HEAD  | api\u002Fprofiles\u002F{profile}\u002Fimage\u002F{image?}           | api.profiles.relation.image.show         | App\\Http\\Controllers\\Api\\ProfileImageController@show                      |\n| PATCH|PUT | api\u002Fprofiles\u002F{profile}\u002Fimage\u002F{image?}           | api.profiles.relation.image.update       | App\\Http\\Controllers\\Api\\ProfileImageController@update                    |\n| DELETE    | api\u002Fprofiles\u002F{profile}\u002Fimage\u002F{image?}           | api.profiles.relation.image.destroy      | App\\Http\\Controllers\\Api\\ProfileImageController@destroy                   |\n",[167,1505,1506,1511,1533,1537,1568,1606,1641],{"__ignoreMap":165},[170,1507,1508],{"class":172,"line":173},[170,1509,1510],{"class":198},"+-----------+-------------------------------------------------+------------------------------------------+---------------------------------------------------------------------------+\n",[170,1512,1513,1515,1517,1519,1521,1523,1525,1528,1530],{"class":172,"line":184},[170,1514,1250],{"class":176},[170,1516,1259],{"class":198},[170,1518,1262],{"class":176},[170,1520,1265],{"class":198},[170,1522,1268],{"class":176},[170,1524,1271],{"class":198},[170,1526,1527],{"class":176},"                                     |",[170,1529,1277],{"class":198},[170,1531,1532],{"class":176},"                                                                    |\n",[170,1534,1535],{"class":172,"line":191},[170,1536,1510],{"class":198},[170,1538,1539,1541,1543,1545,1548,1551,1554,1557,1560,1562,1565],{"class":172,"line":221},[170,1540,1250],{"class":176},[170,1542,1304],{"class":198},[170,1544,1307],{"class":176},[170,1546,1547],{"class":198}," api\u002Fprofiles\u002F",[170,1549,1550],{"class":379},"{profile}",[170,1552,1553],{"class":198},"\u002Fimage",[170,1555,1556],{"class":176},"                    |",[170,1558,1559],{"class":198}," api.profiles.relation.image.store",[170,1561,1301],{"class":176},[170,1563,1564],{"class":198}," App\\Http\\Controllers\\Api\\ProfileImageController@store",[170,1566,1567],{"class":176},"                     |\n",[170,1569,1570,1572,1575,1577,1580,1582,1584,1586,1589,1592,1594,1597,1600,1603],{"class":172,"line":226},[170,1571,1250],{"class":176},[170,1573,1574],{"class":198}," GET",[170,1576,1250],{"class":176},[170,1578,1579],{"class":198},"HEAD",[170,1581,1369],{"class":176},[170,1583,1547],{"class":198},[170,1585,1550],{"class":379},[170,1587,1588],{"class":198},"\u002Fimage\u002F",[170,1590,1591],{"class":379},"{image?}",[170,1593,1325],{"class":176},[170,1595,1596],{"class":198}," api.profiles.relation.image.show",[170,1598,1599],{"class":176},"         |",[170,1601,1602],{"class":198}," App\\Http\\Controllers\\Api\\ProfileImageController@show",[170,1604,1605],{"class":176},"                      |\n",[170,1607,1608,1610,1613,1615,1618,1620,1622,1624,1626,1628,1630,1633,1635,1638],{"class":172,"line":245},[170,1609,1250],{"class":176},[170,1611,1612],{"class":198}," PATCH",[170,1614,1250],{"class":176},[170,1616,1617],{"class":198},"PUT",[170,1619,1256],{"class":176},[170,1621,1547],{"class":198},[170,1623,1550],{"class":379},[170,1625,1588],{"class":198},[170,1627,1591],{"class":379},[170,1629,1325],{"class":176},[170,1631,1632],{"class":198}," api.profiles.relation.image.update",[170,1634,1331],{"class":176},[170,1636,1637],{"class":198}," App\\Http\\Controllers\\Api\\ProfileImageController@update",[170,1639,1640],{"class":176},"                    |\n",[170,1642,1643,1645,1648,1650,1652,1654,1656,1658,1660,1663,1665,1668],{"class":172,"line":268},[170,1644,1250],{"class":176},[170,1646,1647],{"class":198}," DELETE",[170,1649,1262],{"class":176},[170,1651,1547],{"class":198},[170,1653,1550],{"class":379},[170,1655,1588],{"class":198},[170,1657,1591],{"class":379},[170,1659,1325],{"class":176},[170,1661,1662],{"class":198}," api.profiles.relation.image.destroy",[170,1664,1307],{"class":176},[170,1666,1667],{"class":198}," App\\Http\\Controllers\\Api\\ProfileImageController@destroy",[170,1669,1670],{"class":176},"                   |\n",[457,1672,1673,1676],{"icon":459},[156,1674,1675],{},"最後のパラメータが省略可能になっている点に注目してください。1対1のリレーションであるため、関連キーを指定しなくてもエンドポイントにアクセスできます。Orionが自動的に処理します。",[156,1677,1678,1681,1683,427,1685,427,1687,427,1689,427,1691,1693],{},[1679,1680],"br",{},[1679,1682],{},[167,1684,1393],{},[167,1686,1398],{},[167,1688,1403],{},[167,1690,1408],{},[167,1692,1417],{},"リレーションでは、関連リソースのキーを指定する必要はありません。",[152,1695,1697],{"id":1696},"_1対多","1対多",[156,1699,1700],{},"次のリレーションは1対多のリレーションとして扱われます。",[464,1702,1703,1707,1712],{},[467,1704,1705],{},[167,1706,1411],{},[467,1708,1709],{},[167,1710,1711],{},"hasManyThrough",[467,1713,1714],{},[167,1715,1420],{},[156,1717,1718,1719,427,1722,427,1725,427,1727,427,1729,427,1731,427,1733,427,1736,427,1739,427,1742,427,1745],{},"1対多のリレーションに対して、Orionは11のエンドポイント(CRUD操作、検索、関連付け、関連付け解除のエンドポイント)を提供します: ",[167,1720,1721],{},"index",[167,1723,1724],{},"search",[167,1726,1426],{},[167,1728,1429],{},[167,1730,1432],{},[167,1732,1435],{},[167,1734,1735],{},"associate",[167,1737,1738],{},"dissociate",[167,1740,1741],{},"batchStore",[167,1743,1744],{},"batchUpdate",[167,1746,1747],{},"batchDestroy",[156,1749,1750],{},[1453,1751,1455],{},[160,1753,1755],{"className":162,"code":1754,"language":164,"meta":165,"style":165},"Orion::hasManyResource('users', 'posts' , UserPostsController::class);\n",[167,1756,1757],{"__ignoreMap":165},[170,1758,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789],{"class":172,"line":173},[170,1760,545],{"class":198},[170,1762,332],{"class":176},[170,1764,675],{"class":586},[170,1766,637],{"class":176},[170,1768,383],{"class":176},[170,1770,682],{"class":379},[170,1772,383],{"class":176},[170,1774,647],{"class":176},[170,1776,376],{"class":176},[170,1778,691],{"class":379},[170,1780,383],{"class":176},[170,1782,1487],{"class":176},[170,1784,698],{"class":198},[170,1786,332],{"class":176},[170,1788,277],{"class":194},[170,1790,666],{"class":176},[156,1792,1793],{},[1453,1794,1500],{},[160,1796,1798],{"className":1236,"code":1797,"language":1238,"meta":165,"style":165},"+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+\n| Method    | URI                                             | Name                                   | Action                                                                    |\n+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+\n| GET|HEAD  | api\u002Fusers\u002F{user}\u002Fposts                          | api.users.relation.posts.index         | App\\Http\\Controllers\\Api\\UserPostsController@index                        |\n| POST      | api\u002Fusers\u002F{user}\u002Fposts\u002Fsearch                   | api.users.relation.posts.search        | App\\Http\\Controllers\\Api\\UserPostsController@index                        |\n| POST      | api\u002Fusers\u002F{user}\u002Fposts                          | api.users.relation.posts.store         | App\\Http\\Controllers\\Api\\UserPostsController@store                        |\n| GET|HEAD  | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}                   | api.users.relation.posts.show          | App\\Http\\Controllers\\Api\\UserPostsController@show                         |\n| PATCH     | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}                   | api.users.relation.posts.update        | App\\Http\\Controllers\\Api\\UserPostsController@update                       |\n| PUT       | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}                   | api.users.relation.posts.update        | App\\Http\\Controllers\\Api\\UserPostsController@update                       |\n| DELETE    | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}                   | api.users.relation.posts.destroy       | App\\Http\\Controllers\\Api\\UserPostsController@destroy                      |\n| POST      | api\u002Fusers\u002F{user}\u002Fposts\u002Fassociate                | api.users.relation.posts.associate     | App\\Http\\Controllers\\Api\\UserPostsController@associate                    |\n| DELETE    | api\u002Fusers\u002F{user}\u002Fposts\u002F{post}\u002Fdissociate        | api.users.relation.posts.dissociate    | App\\Http\\Controllers\\Api\\UserPostsController@dissociate                   |\n| POST      | api\u002Fusers\u002F{user}\u002Fposts\u002Fbatch                    | api.users.relation.posts.batchStore    | App\\Http\\Controllers\\Api\\UserPostsController@batchStore                   |\n| PATCH     | api\u002Fusers\u002F{user}\u002Fposts\u002Fbatch                    | api.users.relation.posts.batchUpdate   | App\\Http\\Controllers\\Api\\UserPostsController@batchUpdate                  |\n| DELETE    | api\u002Fusers\u002F{user}\u002Fposts\u002Fbatch                    | api.users.relation.posts.batchDestroy  | App\\Http\\Controllers\\Api\\UserPostsController@batchDestroy                 |\n",[167,1799,1800,1805,1825,1829,1862,1889,1915,1949,1979,2006,2034,2062,2093,2120,2148],{"__ignoreMap":165},[170,1801,1802],{"class":172,"line":173},[170,1803,1804],{"class":198},"+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+\n",[170,1806,1807,1809,1811,1813,1815,1817,1819,1821,1823],{"class":172,"line":184},[170,1808,1250],{"class":176},[170,1810,1259],{"class":198},[170,1812,1262],{"class":176},[170,1814,1265],{"class":198},[170,1816,1268],{"class":176},[170,1818,1271],{"class":198},[170,1820,1274],{"class":176},[170,1822,1277],{"class":198},[170,1824,1532],{"class":176},[170,1826,1827],{"class":172,"line":191},[170,1828,1804],{"class":198},[170,1830,1831,1833,1835,1837,1839,1841,1843,1845,1848,1851,1854,1856,1859],{"class":172,"line":221},[170,1832,1250],{"class":176},[170,1834,1574],{"class":198},[170,1836,1250],{"class":176},[170,1838,1579],{"class":198},[170,1840,1369],{"class":176},[170,1842,1310],{"class":198},[170,1844,1313],{"class":379},[170,1846,1847],{"class":198},"\u002Fposts",[170,1849,1850],{"class":176},"                          |",[170,1852,1853],{"class":198}," api.users.relation.posts.index",[170,1855,1599],{"class":176},[170,1857,1858],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@index",[170,1860,1861],{"class":176},"                        |\n",[170,1863,1864,1866,1868,1870,1872,1874,1877,1880,1883,1885,1887],{"class":172,"line":226},[170,1865,1250],{"class":176},[170,1867,1304],{"class":198},[170,1869,1307],{"class":176},[170,1871,1310],{"class":198},[170,1873,1313],{"class":379},[170,1875,1876],{"class":198},"\u002Fposts\u002Fsearch",[170,1878,1879],{"class":176},"                   |",[170,1881,1882],{"class":198}," api.users.relation.posts.search",[170,1884,1301],{"class":176},[170,1886,1858],{"class":198},[170,1888,1861],{"class":176},[170,1890,1891,1893,1895,1897,1899,1901,1903,1905,1908,1910,1913],{"class":172,"line":245},[170,1892,1250],{"class":176},[170,1894,1304],{"class":198},[170,1896,1307],{"class":176},[170,1898,1310],{"class":198},[170,1900,1313],{"class":379},[170,1902,1847],{"class":198},[170,1904,1850],{"class":176},[170,1906,1907],{"class":198}," api.users.relation.posts.store",[170,1909,1599],{"class":176},[170,1911,1912],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@store",[170,1914,1861],{"class":176},[170,1916,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1940,1943,1946],{"class":172,"line":268},[170,1918,1250],{"class":176},[170,1920,1574],{"class":198},[170,1922,1250],{"class":176},[170,1924,1579],{"class":198},[170,1926,1369],{"class":176},[170,1928,1310],{"class":198},[170,1930,1313],{"class":379},[170,1932,1316],{"class":198},[170,1934,1319],{"class":379},[170,1936,1879],{"class":176},[170,1938,1939],{"class":198}," api.users.relation.posts.show",[170,1941,1942],{"class":176},"          |",[170,1944,1945],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@show",[170,1947,1948],{"class":176},"                         |\n",[170,1950,1951,1953,1955,1958,1960,1962,1964,1966,1968,1971,1973,1976],{"class":172,"line":273},[170,1952,1250],{"class":176},[170,1954,1612],{"class":198},[170,1956,1957],{"class":176},"     |",[170,1959,1310],{"class":198},[170,1961,1313],{"class":379},[170,1963,1316],{"class":198},[170,1965,1319],{"class":379},[170,1967,1879],{"class":176},[170,1969,1970],{"class":198}," api.users.relation.posts.update",[170,1972,1301],{"class":176},[170,1974,1975],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@update",[170,1977,1978],{"class":176},"                       |\n",[170,1980,1981,1983,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004],{"class":172,"line":289},[170,1982,1250],{"class":176},[170,1984,1985],{"class":198}," PUT",[170,1987,1331],{"class":176},[170,1989,1310],{"class":198},[170,1991,1313],{"class":379},[170,1993,1316],{"class":198},[170,1995,1319],{"class":379},[170,1997,1879],{"class":176},[170,1999,1970],{"class":198},[170,2001,1301],{"class":176},[170,2003,1975],{"class":198},[170,2005,1978],{"class":176},[170,2007,2008,2010,2012,2014,2016,2018,2020,2022,2024,2027,2029,2032],{"class":172,"line":295},[170,2009,1250],{"class":176},[170,2011,1647],{"class":198},[170,2013,1262],{"class":176},[170,2015,1310],{"class":198},[170,2017,1313],{"class":379},[170,2019,1316],{"class":198},[170,2021,1319],{"class":379},[170,2023,1879],{"class":176},[170,2025,2026],{"class":198}," api.users.relation.posts.destroy",[170,2028,1331],{"class":176},[170,2030,2031],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@destroy",[170,2033,1605],{"class":176},[170,2035,2036,2038,2040,2042,2044,2046,2049,2052,2055,2057,2060],{"class":172,"line":302},[170,2037,1250],{"class":176},[170,2039,1304],{"class":198},[170,2041,1307],{"class":176},[170,2043,1310],{"class":198},[170,2045,1313],{"class":379},[170,2047,2048],{"class":198},"\u002Fposts\u002Fassociate",[170,2050,2051],{"class":176},"                |",[170,2053,2054],{"class":198}," api.users.relation.posts.associate",[170,2056,1957],{"class":176},[170,2058,2059],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@associate",[170,2061,1640],{"class":176},[170,2063,2064,2066,2068,2070,2072,2074,2076,2078,2081,2083,2086,2088,2091],{"class":172,"line":308},[170,2065,1250],{"class":176},[170,2067,1647],{"class":198},[170,2069,1262],{"class":176},[170,2071,1310],{"class":198},[170,2073,1313],{"class":379},[170,2075,1316],{"class":198},[170,2077,1319],{"class":379},[170,2079,2080],{"class":198},"\u002Fdissociate",[170,2082,1301],{"class":176},[170,2084,2085],{"class":198}," api.users.relation.posts.dissociate",[170,2087,1262],{"class":176},[170,2089,2090],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@dissociate",[170,2092,1670],{"class":176},[170,2094,2095,2097,2099,2101,2103,2105,2108,2110,2113,2115,2118],{"class":172,"line":314},[170,2096,1250],{"class":176},[170,2098,1304],{"class":198},[170,2100,1307],{"class":176},[170,2102,1310],{"class":198},[170,2104,1313],{"class":379},[170,2106,2107],{"class":198},"\u002Fposts\u002Fbatch",[170,2109,1556],{"class":176},[170,2111,2112],{"class":198}," api.users.relation.posts.batchStore",[170,2114,1262],{"class":176},[170,2116,2117],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@batchStore",[170,2119,1670],{"class":176},[170,2121,2122,2124,2126,2128,2130,2132,2134,2136,2139,2142,2145],{"class":172,"line":343},[170,2123,1250],{"class":176},[170,2125,1612],{"class":198},[170,2127,1957],{"class":176},[170,2129,1310],{"class":198},[170,2131,1313],{"class":379},[170,2133,2107],{"class":198},[170,2135,1556],{"class":176},[170,2137,2138],{"class":198}," api.users.relation.posts.batchUpdate",[170,2140,2141],{"class":176},"   |",[170,2143,2144],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@batchUpdate",[170,2146,2147],{"class":176},"                  |\n",[170,2149,2150,2152,2154,2156,2158,2160,2162,2164,2167,2169,2172],{"class":172,"line":348},[170,2151,1250],{"class":176},[170,2153,1647],{"class":198},[170,2155,1262],{"class":176},[170,2157,1310],{"class":198},[170,2159,1313],{"class":379},[170,2161,2107],{"class":198},[170,2163,1556],{"class":176},[170,2165,2166],{"class":198}," api.users.relation.posts.batchDestroy",[170,2168,1369],{"class":176},[170,2170,2171],{"class":198}," App\\Http\\Controllers\\Api\\UserPostsController@batchDestroy",[170,2173,2174],{"class":176},"                 |\n",[396,2176,2178],{"id":2177},"関連付けassociate","関連付け(associate)",[156,2180,2181,2182,2184],{},"1対多のリレーションリソースは、リレーションのモデルを親モデルに関連付けるための",[167,2183,1735],{},"エンドポイントを提供します。",[156,2186,2187,2188,2191,2192,2194],{},"このエンドポイントへのリクエストペイロードには",[167,2189,2190],{},"related_key","という1つのフィールドだけがあります。この例では、",[167,2193,2190],{},"はユーザーに関連付ける投稿のIDになります。",[156,2196,2197],{},[1453,2198,2199],{},"リクエストの例:",[160,2201,2205],{"className":2202,"code":2203,"language":2204,"meta":165,"style":165},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Fposts\u002Fassociate\n{\n    \"related_key\" : 5\n}\n","json",[167,2206,2207,2212,2216,2232],{"__ignoreMap":165},[170,2208,2209],{"class":172,"line":173},[170,2210,2211],{"class":298},"\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Fposts\u002Fassociate\n",[170,2213,2214],{"class":172,"line":184},[170,2215,292],{"class":176},[170,2217,2218,2221,2223,2226,2229],{"class":172,"line":191},[170,2219,2220],{"class":176},"    \"",[170,2222,2190],{"class":276},[170,2224,2225],{"class":176},"\"",[170,2227,2228],{"class":176}," :",[170,2230,2231],{"class":194}," 5\n",[170,2233,2234],{"class":172,"line":221},[170,2235,391],{"class":176},[396,2237,2239],{"id":2238},"関連付けの解除dissociate","関連付けの解除(dissociate)",[156,2241,2242,2243,2245],{},"1対多のリレーションリソースは、リレーションのモデルを親モデルから切り離すための",[167,2244,1738],{},"エンドポイントも提供します。",[156,2247,2248,2249,2251],{},"このエンドポイントのリクエストにペイロードはありません。ただし、上記のルート例にある",[167,2250,1319],{},"ルートパラメータに注目してください。これがユーザーから切り離す投稿のIDになります。",[152,2253,2254],{"id":2254},"多対多",[156,2256,2257],{},"次のリレーションは多対多のリレーションとして扱われます。",[464,2259,2260,2264],{},[467,2261,2262],{},[167,2263,404],{},[467,2265,2266],{},[167,2267,408],{},[156,2269,2270,2271,427,2273,427,2275,427,2277,427,2279,427,2281,427,2283,427,2285,427,2288,427,2290,427,2292,427,2295,427,2297,427,2299],{},"多対多のリレーションに対して、Orionは14のエンドポイント(CRUD操作、検索、アタッチ、デタッチ、同期、トグル、ピボット更新のエンドポイント)を提供します: ",[167,2272,1721],{},[167,2274,1724],{},[167,2276,1426],{},[167,2278,1429],{},[167,2280,1432],{},[167,2282,1435],{},[167,2284,426],{},[167,2286,2287],{},"detach",[167,2289,430],{},[167,2291,433],{},[167,2293,2294],{},"pivot",[167,2296,1741],{},[167,2298,1744],{},[167,2300,1747],{},[156,2302,2303],{},[1453,2304,1455],{},[160,2306,2308],{"className":162,"code":2307,"language":164,"meta":165,"style":165},"Orion::belongsToManyResource('users', 'roles' , UserRolesController::class);\n",[167,2309,2310],{"__ignoreMap":165},[170,2311,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342],{"class":172,"line":173},[170,2313,545],{"class":198},[170,2315,332],{"class":176},[170,2317,750],{"class":586},[170,2319,637],{"class":176},[170,2321,383],{"class":176},[170,2323,682],{"class":379},[170,2325,383],{"class":176},[170,2327,647],{"class":176},[170,2329,376],{"class":176},[170,2331,765],{"class":379},[170,2333,383],{"class":176},[170,2335,1487],{"class":176},[170,2337,772],{"class":198},[170,2339,332],{"class":176},[170,2341,277],{"class":194},[170,2343,666],{"class":176},[156,2345,2346],{},[1453,2347,1500],{},[160,2349,2351],{"className":1236,"code":2350,"language":1238,"meta":165,"style":165},"+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+\n| Method    | URI                                             | Name                                   | Action                                                                    |\n+-----------+-------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------+\n| GET|HEAD  | api\u002Fusers\u002F{user}\u002Froles                          | api.users.relation.roles.index         | App\\Http\\Controllers\\Api\\UserRolesController@index                        |\n| POST      | api\u002Fusers\u002F{user}\u002Froles\u002Fsearch                   | api.users.relation.roles.search        | App\\Http\\Controllers\\Api\\UserRolesController@index                        |\n| POST      | api\u002Fusers\u002F{user}\u002Froles                          | api.users.relation.roles.store         | App\\Http\\Controllers\\Api\\UserRolesController@store                        |\n| GET|HEAD  | api\u002Fusers\u002F{user}\u002Froles\u002F{role}                   | api.users.relation.roles.show          | App\\Http\\Controllers\\Api\\UserRolesController@show                         |\n| PATCH     | api\u002Fusers\u002F{user}\u002Froles\u002F{role}                   | api.users.relation.roles.update        | App\\Http\\Controllers\\Api\\UserRolesController@update                       |\n| PUT       | api\u002Fusers\u002F{user}\u002Froles\u002F{role}                   | api.users.relation.roles.update        | App\\Http\\Controllers\\Api\\UserRolesController@update                       |\n| DELETE    | api\u002Fusers\u002F{user}\u002Froles\u002F{role}                   | api.users.relation.roles.destroy       | App\\Http\\Controllers\\Api\\UserRolesController@destroy                      |\n| POST      | api\u002Fusers\u002F{user}\u002Froles\u002Fattach                   | api.users.relation.roles.attach        | App\\Http\\Controllers\\Api\\UserRolesController@attach                       |\n| DELETE    | api\u002Fusers\u002F{user}\u002Froles\u002Fdetach                   | api.users.relation.roles.detach        | App\\Http\\Controllers\\Api\\UserRolesController@detach                       |\n| PATCH     | api\u002Fusers\u002F{user}\u002Froles\u002Fsync                     | api.users.relation.roles.sync          | App\\Http\\Controllers\\Api\\UserRolesController@sync                         |\n| PATCH     | api\u002Fusers\u002F{user}\u002Froles\u002Ftoggle                   | api.users.relation.roles.toggle        | App\\Http\\Controllers\\Api\\UserRolesController@toggle                       |\n| PATCH     | api\u002Fusers\u002F{user}\u002Froles\u002F{role}\u002Fpivot             | api.users.relation.roles.pivot         | App\\Http\\Controllers\\Api\\UserRolesController@updatePivot                  |\n| POST      | api\u002Fusers\u002F{user}\u002Froles\u002Fbatch                    | api.users.relation.roles.batchStore    | App\\Http\\Controllers\\Api\\UserRolesController@batchStore                   |\n| PATCH     | api\u002Fusers\u002F{user}\u002Froles\u002Fbatch                    | api.users.relation.roles.batchUpdate   | App\\Http\\Controllers\\Api\\UserRolesController@batchUpdate                  |\n| DELETE    | api\u002Fusers\u002F{user}\u002Froles\u002Fbatch                    | api.users.relation.roles.batchDestroy  | App\\Http\\Controllers\\Api\\UserRolesController@batchDestroy                 |\n",[167,2352,2353,2357,2377,2381,2412,2438,2464,2498,2526,2552,2580,2607,2634,2662,2689,2721,2748,2774],{"__ignoreMap":165},[170,2354,2355],{"class":172,"line":173},[170,2356,1804],{"class":198},[170,2358,2359,2361,2363,2365,2367,2369,2371,2373,2375],{"class":172,"line":184},[170,2360,1250],{"class":176},[170,2362,1259],{"class":198},[170,2364,1262],{"class":176},[170,2366,1265],{"class":198},[170,2368,1268],{"class":176},[170,2370,1271],{"class":198},[170,2372,1274],{"class":176},[170,2374,1277],{"class":198},[170,2376,1532],{"class":176},[170,2378,2379],{"class":172,"line":191},[170,2380,1804],{"class":198},[170,2382,2383,2385,2387,2389,2391,2393,2395,2397,2400,2402,2405,2407,2410],{"class":172,"line":221},[170,2384,1250],{"class":176},[170,2386,1574],{"class":198},[170,2388,1250],{"class":176},[170,2390,1579],{"class":198},[170,2392,1369],{"class":176},[170,2394,1310],{"class":198},[170,2396,1313],{"class":379},[170,2398,2399],{"class":198},"\u002Froles",[170,2401,1850],{"class":176},[170,2403,2404],{"class":198}," api.users.relation.roles.index",[170,2406,1599],{"class":176},[170,2408,2409],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@index",[170,2411,1861],{"class":176},[170,2413,2414,2416,2418,2420,2422,2424,2427,2429,2432,2434,2436],{"class":172,"line":226},[170,2415,1250],{"class":176},[170,2417,1304],{"class":198},[170,2419,1307],{"class":176},[170,2421,1310],{"class":198},[170,2423,1313],{"class":379},[170,2425,2426],{"class":198},"\u002Froles\u002Fsearch",[170,2428,1879],{"class":176},[170,2430,2431],{"class":198}," api.users.relation.roles.search",[170,2433,1301],{"class":176},[170,2435,2409],{"class":198},[170,2437,1861],{"class":176},[170,2439,2440,2442,2444,2446,2448,2450,2452,2454,2457,2459,2462],{"class":172,"line":245},[170,2441,1250],{"class":176},[170,2443,1304],{"class":198},[170,2445,1307],{"class":176},[170,2447,1310],{"class":198},[170,2449,1313],{"class":379},[170,2451,2399],{"class":198},[170,2453,1850],{"class":176},[170,2455,2456],{"class":198}," api.users.relation.roles.store",[170,2458,1599],{"class":176},[170,2460,2461],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@store",[170,2463,1861],{"class":176},[170,2465,2466,2468,2470,2472,2474,2476,2478,2480,2483,2486,2488,2491,2493,2496],{"class":172,"line":268},[170,2467,1250],{"class":176},[170,2469,1574],{"class":198},[170,2471,1250],{"class":176},[170,2473,1579],{"class":198},[170,2475,1369],{"class":176},[170,2477,1310],{"class":198},[170,2479,1313],{"class":379},[170,2481,2482],{"class":198},"\u002Froles\u002F",[170,2484,2485],{"class":379},"{role}",[170,2487,1879],{"class":176},[170,2489,2490],{"class":198}," api.users.relation.roles.show",[170,2492,1942],{"class":176},[170,2494,2495],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@show",[170,2497,1948],{"class":176},[170,2499,2500,2502,2504,2506,2508,2510,2512,2514,2516,2519,2521,2524],{"class":172,"line":273},[170,2501,1250],{"class":176},[170,2503,1612],{"class":198},[170,2505,1957],{"class":176},[170,2507,1310],{"class":198},[170,2509,1313],{"class":379},[170,2511,2482],{"class":198},[170,2513,2485],{"class":379},[170,2515,1879],{"class":176},[170,2517,2518],{"class":198}," api.users.relation.roles.update",[170,2520,1301],{"class":176},[170,2522,2523],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@update",[170,2525,1978],{"class":176},[170,2527,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550],{"class":172,"line":289},[170,2529,1250],{"class":176},[170,2531,1985],{"class":198},[170,2533,1331],{"class":176},[170,2535,1310],{"class":198},[170,2537,1313],{"class":379},[170,2539,2482],{"class":198},[170,2541,2485],{"class":379},[170,2543,1879],{"class":176},[170,2545,2518],{"class":198},[170,2547,1301],{"class":176},[170,2549,2523],{"class":198},[170,2551,1978],{"class":176},[170,2553,2554,2556,2558,2560,2562,2564,2566,2568,2570,2573,2575,2578],{"class":172,"line":295},[170,2555,1250],{"class":176},[170,2557,1647],{"class":198},[170,2559,1262],{"class":176},[170,2561,1310],{"class":198},[170,2563,1313],{"class":379},[170,2565,2482],{"class":198},[170,2567,2485],{"class":379},[170,2569,1879],{"class":176},[170,2571,2572],{"class":198}," api.users.relation.roles.destroy",[170,2574,1331],{"class":176},[170,2576,2577],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@destroy",[170,2579,1605],{"class":176},[170,2581,2582,2584,2586,2588,2590,2592,2595,2597,2600,2602,2605],{"class":172,"line":302},[170,2583,1250],{"class":176},[170,2585,1304],{"class":198},[170,2587,1307],{"class":176},[170,2589,1310],{"class":198},[170,2591,1313],{"class":379},[170,2593,2594],{"class":198},"\u002Froles\u002Fattach",[170,2596,1879],{"class":176},[170,2598,2599],{"class":198}," api.users.relation.roles.attach",[170,2601,1301],{"class":176},[170,2603,2604],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@attach",[170,2606,1978],{"class":176},[170,2608,2609,2611,2613,2615,2617,2619,2622,2624,2627,2629,2632],{"class":172,"line":308},[170,2610,1250],{"class":176},[170,2612,1647],{"class":198},[170,2614,1262],{"class":176},[170,2616,1310],{"class":198},[170,2618,1313],{"class":379},[170,2620,2621],{"class":198},"\u002Froles\u002Fdetach",[170,2623,1879],{"class":176},[170,2625,2626],{"class":198}," api.users.relation.roles.detach",[170,2628,1301],{"class":176},[170,2630,2631],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@detach",[170,2633,1978],{"class":176},[170,2635,2636,2638,2640,2642,2644,2646,2649,2652,2655,2657,2660],{"class":172,"line":314},[170,2637,1250],{"class":176},[170,2639,1612],{"class":198},[170,2641,1957],{"class":176},[170,2643,1310],{"class":198},[170,2645,1313],{"class":379},[170,2647,2648],{"class":198},"\u002Froles\u002Fsync",[170,2650,2651],{"class":176},"                     |",[170,2653,2654],{"class":198}," api.users.relation.roles.sync",[170,2656,1942],{"class":176},[170,2658,2659],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@sync",[170,2661,1948],{"class":176},[170,2663,2664,2666,2668,2670,2672,2674,2677,2679,2682,2684,2687],{"class":172,"line":343},[170,2665,1250],{"class":176},[170,2667,1612],{"class":198},[170,2669,1957],{"class":176},[170,2671,1310],{"class":198},[170,2673,1313],{"class":379},[170,2675,2676],{"class":198},"\u002Froles\u002Ftoggle",[170,2678,1879],{"class":176},[170,2680,2681],{"class":198}," api.users.relation.roles.toggle",[170,2683,1301],{"class":176},[170,2685,2686],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@toggle",[170,2688,1978],{"class":176},[170,2690,2691,2693,2695,2697,2699,2701,2703,2705,2708,2711,2714,2716,2719],{"class":172,"line":348},[170,2692,1250],{"class":176},[170,2694,1612],{"class":198},[170,2696,1957],{"class":176},[170,2698,1310],{"class":198},[170,2700,1313],{"class":379},[170,2702,2482],{"class":198},[170,2704,2485],{"class":379},[170,2706,2707],{"class":198},"\u002Fpivot",[170,2709,2710],{"class":176},"             |",[170,2712,2713],{"class":198}," api.users.relation.roles.pivot",[170,2715,1599],{"class":176},[170,2717,2718],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@updatePivot",[170,2720,2147],{"class":176},[170,2722,2723,2725,2727,2729,2731,2733,2736,2738,2741,2743,2746],{"class":172,"line":353},[170,2724,1250],{"class":176},[170,2726,1304],{"class":198},[170,2728,1307],{"class":176},[170,2730,1310],{"class":198},[170,2732,1313],{"class":379},[170,2734,2735],{"class":198},"\u002Froles\u002Fbatch",[170,2737,1556],{"class":176},[170,2739,2740],{"class":198}," api.users.relation.roles.batchStore",[170,2742,1262],{"class":176},[170,2744,2745],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@batchStore",[170,2747,1670],{"class":176},[170,2749,2750,2752,2754,2756,2758,2760,2762,2764,2767,2769,2772],{"class":172,"line":359},[170,2751,1250],{"class":176},[170,2753,1612],{"class":198},[170,2755,1957],{"class":176},[170,2757,1310],{"class":198},[170,2759,1313],{"class":379},[170,2761,2735],{"class":198},[170,2763,1556],{"class":176},[170,2765,2766],{"class":198}," api.users.relation.roles.batchUpdate",[170,2768,2141],{"class":176},[170,2770,2771],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@batchUpdate",[170,2773,2147],{"class":176},[170,2775,2776,2778,2780,2782,2784,2786,2788,2790,2793,2795,2798],{"class":172,"line":364},[170,2777,1250],{"class":176},[170,2779,1647],{"class":198},[170,2781,1262],{"class":176},[170,2783,1310],{"class":198},[170,2785,1313],{"class":379},[170,2787,2735],{"class":198},[170,2789,1556],{"class":176},[170,2791,2792],{"class":198}," api.users.relation.roles.batchDestroy",[170,2794,1369],{"class":176},[170,2796,2797],{"class":198}," App\\Http\\Controllers\\Api\\UserRolesController@batchDestroy",[170,2799,2174],{"class":176},[1437,2801,2802],{},[156,2803,2804,2805,2808,2809,427,2811,427,2813,427,2815,2817],{},"ピボットテーブルに追加のフィールドがある場合は、",[445,2806,399],{"href":2807},"\u002Fja\u002Fguide\u002Frelationships#%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97","セクションで説明したとおりにfillableなピボットフィールドを必ず定義してください。定義しない場合、",[167,2810,426],{},[167,2812,430],{},[167,2814,433],{},[167,2816,436],{},"エンドポイントでこれらのフィールドが期待どおりに動作しないことがあります。",[396,2819,2820],{"id":2820},"アタッチ",[156,2822,2823,2824,2826,2827,2832],{},"多対多のリレーションリソースは、1つまたは複数の関連モデルを別のモデルにアタッチするための",[167,2825,426],{},"エンドポイントを提供します。Laravelにおける関連モデルのアタッチ\u002Fデタッチの動作の詳細については、Laravelドキュメントの",[445,2828,2831],{"href":2829,"rel":2830},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Feloquent-relationships#updating-many-to-many-relationships",[449],"Attaching \u002F Detaching","セクションを参照してください。",[156,2834,2835,2836,2839,2840,2843,2844,2846],{},"リクエストペイロードは、必須の",[167,2837,2838],{},"resources","フィールドと任意の",[167,2841,2842],{},"duplicates","フィールドで構成されます。",[167,2845,2842],{},"フィールドはクエリパラメータとしても指定できます。",[156,2848,2849,2851],{},[167,2850,2838],{},"フィールドには配列またはオブジェクトを指定できます。配列の場合、配列の各要素はアタッチしたい関連モデルのIDになります。オブジェクトの場合、キーは関連モデルのIDになり、値は関連モデルのアタッチ時に設定するピボットテーブルのフィールドを含むオブジェクトになります。",[156,2853,2854,2855,2857,2858,2861,2862,2865],{},"デフォルトでは、",[167,2856,2842],{},"パラメータは",[167,2859,2860],{},"false","です。",[167,2863,2864],{},"true","に設定すると、同じ関連モデルを複数回アタッチした場合にピボットテーブルにエントリが重複して作成されます。",[156,2867,2868],{},[1453,2869,2870],{},"リクエストの例(配列版):",[160,2872,2874],{"className":2202,"code":2873,"language":2204,"meta":165,"style":165},"\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fattach\n{\n    \"resources\" : [3,4,7]\n}\n",[167,2875,2876,2881,2885,2914],{"__ignoreMap":165},[170,2877,2878],{"class":172,"line":173},[170,2879,2880],{"class":298},"\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fattach\n",[170,2882,2883],{"class":172,"line":184},[170,2884,292],{"class":176},[170,2886,2887,2889,2891,2893,2895,2898,2901,2903,2906,2908,2911],{"class":172,"line":191},[170,2888,2220],{"class":176},[170,2890,2838],{"class":276},[170,2892,2225],{"class":176},[170,2894,2228],{"class":176},[170,2896,2897],{"class":176}," [",[170,2899,2900],{"class":194},"3",[170,2902,647],{"class":176},[170,2904,2905],{"class":194},"4",[170,2907,647],{"class":176},[170,2909,2910],{"class":194},"7",[170,2912,2913],{"class":176},"]\n",[170,2915,2916],{"class":172,"line":221},[170,2917,391],{"class":176},[156,2919,2920],{},[1453,2921,2922],{},"リクエストの例(オブジェクト版):",[160,2924,2926],{"className":2202,"code":2925,"language":2204,"meta":165,"style":165},"\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fattach\n{\n    \"resources\" : {\n        \"3\" : {\n            \"example_pivot_field\" : \"value A\",\n            ...\n        },\n        \"4\" : {\n            \"example_pivot_field\" : \"value B\",\n            ...\n        },\n        \"7\" : {\n            \"example_pivot_field\" : \"value C\",\n            ...\n        }\n    }\n}\n",[167,2927,2928,2932,2936,2948,2961,2984,2989,2994,3006,3025,3029,3033,3045,3064,3068,3073,3078],{"__ignoreMap":165},[170,2929,2930],{"class":172,"line":173},[170,2931,2880],{"class":298},[170,2933,2934],{"class":172,"line":184},[170,2935,292],{"class":176},[170,2937,2938,2940,2942,2944,2946],{"class":172,"line":191},[170,2939,2220],{"class":176},[170,2941,2838],{"class":276},[170,2943,2225],{"class":176},[170,2945,2228],{"class":176},[170,2947,619],{"class":176},[170,2949,2950,2953,2955,2957,2959],{"class":172,"line":221},[170,2951,2952],{"class":176},"        \"",[170,2954,2900],{"class":198},[170,2956,2225],{"class":176},[170,2958,2228],{"class":176},[170,2960,619],{"class":176},[170,2962,2963,2966,2969,2971,2973,2976,2979,2981],{"class":172,"line":226},[170,2964,2965],{"class":176},"            \"",[170,2967,2968],{"class":194},"example_pivot_field",[170,2970,2225],{"class":176},[170,2972,2228],{"class":176},[170,2974,2975],{"class":176}," \"",[170,2977,2978],{"class":379},"value A",[170,2980,2225],{"class":176},[170,2982,2983],{"class":176},",\n",[170,2985,2986],{"class":172,"line":245},[170,2987,2988],{"class":180},"            ...\n",[170,2990,2991],{"class":172,"line":268},[170,2992,2993],{"class":176},"        },\n",[170,2995,2996,2998,3000,3002,3004],{"class":172,"line":273},[170,2997,2952],{"class":176},[170,2999,2905],{"class":198},[170,3001,2225],{"class":176},[170,3003,2228],{"class":176},[170,3005,619],{"class":176},[170,3007,3008,3010,3012,3014,3016,3018,3021,3023],{"class":172,"line":289},[170,3009,2965],{"class":176},[170,3011,2968],{"class":194},[170,3013,2225],{"class":176},[170,3015,2228],{"class":176},[170,3017,2975],{"class":176},[170,3019,3020],{"class":379},"value B",[170,3022,2225],{"class":176},[170,3024,2983],{"class":176},[170,3026,3027],{"class":172,"line":295},[170,3028,2988],{"class":180},[170,3030,3031],{"class":172,"line":302},[170,3032,2993],{"class":176},[170,3034,3035,3037,3039,3041,3043],{"class":172,"line":308},[170,3036,2952],{"class":176},[170,3038,2910],{"class":198},[170,3040,2225],{"class":176},[170,3042,2228],{"class":176},[170,3044,619],{"class":176},[170,3046,3047,3049,3051,3053,3055,3057,3060,3062],{"class":172,"line":314},[170,3048,2965],{"class":176},[170,3050,2968],{"class":194},[170,3052,2225],{"class":176},[170,3054,2228],{"class":176},[170,3056,2975],{"class":176},[170,3058,3059],{"class":379},"value C",[170,3061,2225],{"class":176},[170,3063,2983],{"class":176},[170,3065,3066],{"class":172,"line":343},[170,3067,2988],{"class":180},[170,3069,3070],{"class":172,"line":348},[170,3071,3072],{"class":176},"        }\n",[170,3074,3075],{"class":172,"line":353},[170,3076,3077],{"class":176},"    }\n",[170,3079,3080],{"class":172,"line":359},[170,3081,391],{"class":176},[396,3083,3084],{"id":3084},"デタッチ",[156,3086,3087,3088,2184],{},"多対多のリレーションリソースは、1つまたは複数の関連モデルを、アタッチ先のモデルからデタッチするための",[167,3089,2287],{},[156,3091,3092,3093,3095],{},"リクエストペイロードは",[167,3094,2838],{},"という1つのフィールドのみで構成されます。",[156,3097,3098,3100,3101,3103,3104,3106,3107,3110,3111,3114],{},[167,3099,426],{},"エンドポイントと同様に、",[167,3102,2838],{},"フィールドには配列またはオブジェクトを指定できます。このメソッドで",[167,3105,2838],{},"フィールドのオブジェクト表現をサポートすることで、フロントエンド側は関連リソースのアタッチ\u002Fデタッチを統一された方法で行いやすくなります。また、これらのオブジェクトに追加のデータを任意で格納し、",[167,3108,3109],{},"beforeDetach","や",[167,3112,3113],{},"afterDetach","フックで利用することもできます。",[156,3116,3117],{},[1453,3118,2870],{},[160,3120,3122],{"className":2202,"code":3121,"language":2204,"meta":165,"style":165},"\u002F\u002F (DELETE) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fdetach\n{\n    \"resources\" : [3,4,7]\n}\n",[167,3123,3124,3129,3133,3157],{"__ignoreMap":165},[170,3125,3126],{"class":172,"line":173},[170,3127,3128],{"class":298},"\u002F\u002F (DELETE) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fdetach\n",[170,3130,3131],{"class":172,"line":184},[170,3132,292],{"class":176},[170,3134,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155],{"class":172,"line":191},[170,3136,2220],{"class":176},[170,3138,2838],{"class":276},[170,3140,2225],{"class":176},[170,3142,2228],{"class":176},[170,3144,2897],{"class":176},[170,3146,2900],{"class":194},[170,3148,647],{"class":176},[170,3150,2905],{"class":194},[170,3152,647],{"class":176},[170,3154,2910],{"class":194},[170,3156,2913],{"class":176},[170,3158,3159],{"class":172,"line":221},[170,3160,391],{"class":176},[156,3162,3163],{},[1453,3164,2922],{},[160,3166,3168],{"className":2202,"code":3167,"language":2204,"meta":165,"style":165},"\u002F\u002F (DELETE) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fdetach\n{\n    \"resources\" : {\n        \"3\" : {},\n        \"4\" : {\n            \"some_field\" : \"some value\",\n            ...\n        },\n        \"7\" : {},\n    }\n}\n",[167,3169,3170,3174,3178,3190,3203,3215,3235,3239,3243,3255,3259],{"__ignoreMap":165},[170,3171,3172],{"class":172,"line":173},[170,3173,3128],{"class":298},[170,3175,3176],{"class":172,"line":184},[170,3177,292],{"class":176},[170,3179,3180,3182,3184,3186,3188],{"class":172,"line":191},[170,3181,2220],{"class":176},[170,3183,2838],{"class":276},[170,3185,2225],{"class":176},[170,3187,2228],{"class":176},[170,3189,619],{"class":176},[170,3191,3192,3194,3196,3198,3200],{"class":172,"line":221},[170,3193,2952],{"class":176},[170,3195,2900],{"class":198},[170,3197,2225],{"class":176},[170,3199,2228],{"class":176},[170,3201,3202],{"class":176}," {},\n",[170,3204,3205,3207,3209,3211,3213],{"class":172,"line":226},[170,3206,2952],{"class":176},[170,3208,2905],{"class":198},[170,3210,2225],{"class":176},[170,3212,2228],{"class":176},[170,3214,619],{"class":176},[170,3216,3217,3219,3222,3224,3226,3228,3231,3233],{"class":172,"line":245},[170,3218,2965],{"class":176},[170,3220,3221],{"class":194},"some_field",[170,3223,2225],{"class":176},[170,3225,2228],{"class":176},[170,3227,2975],{"class":176},[170,3229,3230],{"class":379},"some value",[170,3232,2225],{"class":176},[170,3234,2983],{"class":176},[170,3236,3237],{"class":172,"line":268},[170,3238,2988],{"class":180},[170,3240,3241],{"class":172,"line":273},[170,3242,2993],{"class":176},[170,3244,3245,3247,3249,3251,3253],{"class":172,"line":289},[170,3246,2952],{"class":176},[170,3248,2910],{"class":198},[170,3250,2225],{"class":176},[170,3252,2228],{"class":176},[170,3254,3202],{"class":176},[170,3256,3257],{"class":172,"line":295},[170,3258,3077],{"class":176},[170,3260,3261],{"class":172,"line":302},[170,3262,391],{"class":176},[396,3264,3266],{"id":3265},"同期sync","同期(sync)",[156,3268,3269,3270,3272,3273,2832],{},"多対多のリレーションリソースは、1つまたは複数の関連モデルの関連付けを別のモデルと同期するための",[167,3271,430],{},"エンドポイントを提供します。Laravelにおける関連モデルの同期の動作の詳細については、Laravelドキュメントの",[445,3274,3276],{"href":2829,"rel":3275},[449],"Syncing Associations",[156,3278,2835,3279,2839,3281,2843,3284,2846],{},[167,3280,2838],{},[167,3282,3283],{},"detaching",[167,3285,3283],{},[156,3287,3288,3290],{},[167,3289,2838],{},"フィールドには配列またはオブジェクトを指定できます。配列の場合、配列の各要素は同期したい関連モデルのIDになります。オブジェクトの場合、キーは関連モデルのIDになり、値は関連モデルの同期時に設定するピボットテーブルのフィールドを含むオブジェクトになります。",[156,3292,2854,3293,2857,3295,2861,3297,3299],{},[167,3294,3283],{},[167,3296,2864],{},[167,3298,2860],{},"に設定すると、ペイロードには含まれないがピボットテーブルには存在する関連モデルがデタッチされなくなります。",[156,3301,3302],{},[1453,3303,2870],{},[160,3305,3307],{"className":2202,"code":3306,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fsync\n{\n    \"resources\" : [3,4]\n}\n",[167,3308,3309,3314,3318,3338],{"__ignoreMap":165},[170,3310,3311],{"class":172,"line":173},[170,3312,3313],{"class":298},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fsync\n",[170,3315,3316],{"class":172,"line":184},[170,3317,292],{"class":176},[170,3319,3320,3322,3324,3326,3328,3330,3332,3334,3336],{"class":172,"line":191},[170,3321,2220],{"class":176},[170,3323,2838],{"class":276},[170,3325,2225],{"class":176},[170,3327,2228],{"class":176},[170,3329,2897],{"class":176},[170,3331,2900],{"class":194},[170,3333,647],{"class":176},[170,3335,2905],{"class":194},[170,3337,2913],{"class":176},[170,3339,3340],{"class":172,"line":221},[170,3341,391],{"class":176},[156,3343,3344],{},[1453,3345,2922],{},[160,3347,3349],{"className":2202,"code":3348,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Fsync\n{\n    \"resources\" : {\n        \"3\" : {\n            \"example_pivot_field\" : \"value A\",\n            ...\n        },\n        \"4\" : {\n            \"example_pivot_field\" : \"value B\",\n            ...\n        },\n    }\n}\n",[167,3350,3351,3355,3359,3371,3383,3401,3405,3409,3421,3439,3443,3447,3451],{"__ignoreMap":165},[170,3352,3353],{"class":172,"line":173},[170,3354,3313],{"class":298},[170,3356,3357],{"class":172,"line":184},[170,3358,292],{"class":176},[170,3360,3361,3363,3365,3367,3369],{"class":172,"line":191},[170,3362,2220],{"class":176},[170,3364,2838],{"class":276},[170,3366,2225],{"class":176},[170,3368,2228],{"class":176},[170,3370,619],{"class":176},[170,3372,3373,3375,3377,3379,3381],{"class":172,"line":221},[170,3374,2952],{"class":176},[170,3376,2900],{"class":198},[170,3378,2225],{"class":176},[170,3380,2228],{"class":176},[170,3382,619],{"class":176},[170,3384,3385,3387,3389,3391,3393,3395,3397,3399],{"class":172,"line":226},[170,3386,2965],{"class":176},[170,3388,2968],{"class":194},[170,3390,2225],{"class":176},[170,3392,2228],{"class":176},[170,3394,2975],{"class":176},[170,3396,2978],{"class":379},[170,3398,2225],{"class":176},[170,3400,2983],{"class":176},[170,3402,3403],{"class":172,"line":245},[170,3404,2988],{"class":180},[170,3406,3407],{"class":172,"line":268},[170,3408,2993],{"class":176},[170,3410,3411,3413,3415,3417,3419],{"class":172,"line":273},[170,3412,2952],{"class":176},[170,3414,2905],{"class":198},[170,3416,2225],{"class":176},[170,3418,2228],{"class":176},[170,3420,619],{"class":176},[170,3422,3423,3425,3427,3429,3431,3433,3435,3437],{"class":172,"line":289},[170,3424,2965],{"class":176},[170,3426,2968],{"class":194},[170,3428,2225],{"class":176},[170,3430,2228],{"class":176},[170,3432,2975],{"class":176},[170,3434,3020],{"class":379},[170,3436,2225],{"class":176},[170,3438,2983],{"class":176},[170,3440,3441],{"class":172,"line":295},[170,3442,2988],{"class":180},[170,3444,3445],{"class":172,"line":302},[170,3446,2993],{"class":176},[170,3448,3449],{"class":172,"line":308},[170,3450,3077],{"class":176},[170,3452,3453],{"class":172,"line":314},[170,3454,391],{"class":176},[396,3456,3457],{"id":3457},"トグル",[156,3459,3460,3461,3463,3464,2832],{},"多対多のリレーションリソースは、1つまたは複数の関連モデルのアタッチ状態を「トグル」するための",[167,3462,433],{},"エンドポイントを提供します。Laravelにおける関連モデルの「トグル」の動作の詳細については、Laravelドキュメントの",[445,3465,3467],{"href":2829,"rel":3466},[449],"Toggling Associations",[156,3469,3092,3470,3095,3472,3100,3474,3476],{},[167,3471,2838],{},[167,3473,430],{},[167,3475,2838],{},"フィールドには配列またはオブジェクトを指定できます。",[156,3478,3479],{},[1453,3480,2870],{},[160,3482,3484],{"className":2202,"code":3483,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Ftoggle\n{\n    \"resources\" : [3,4]\n}\n",[167,3485,3486,3491,3495,3515],{"__ignoreMap":165},[170,3487,3488],{"class":172,"line":173},[170,3489,3490],{"class":298},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Ftoggle\n",[170,3492,3493],{"class":172,"line":184},[170,3494,292],{"class":176},[170,3496,3497,3499,3501,3503,3505,3507,3509,3511,3513],{"class":172,"line":191},[170,3498,2220],{"class":176},[170,3500,2838],{"class":276},[170,3502,2225],{"class":176},[170,3504,2228],{"class":176},[170,3506,2897],{"class":176},[170,3508,2900],{"class":194},[170,3510,647],{"class":176},[170,3512,2905],{"class":194},[170,3514,2913],{"class":176},[170,3516,3517],{"class":172,"line":221},[170,3518,391],{"class":176},[156,3520,3521],{},[1453,3522,2922],{},[160,3524,3526],{"className":2202,"code":3525,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002Ftoggle\n{\n    \"resources\" : {\n        \"3\" : {\n            \"example_pivot_field\" : \"value A\",\n            ...\n        },\n        \"4\" : {\n            \"example_pivot_field\" : \"value B\",\n            ...\n        },\n    }\n}\n",[167,3527,3528,3532,3536,3548,3560,3578,3582,3586,3598,3616,3620,3624,3628],{"__ignoreMap":165},[170,3529,3530],{"class":172,"line":173},[170,3531,3490],{"class":298},[170,3533,3534],{"class":172,"line":184},[170,3535,292],{"class":176},[170,3537,3538,3540,3542,3544,3546],{"class":172,"line":191},[170,3539,2220],{"class":176},[170,3541,2838],{"class":276},[170,3543,2225],{"class":176},[170,3545,2228],{"class":176},[170,3547,619],{"class":176},[170,3549,3550,3552,3554,3556,3558],{"class":172,"line":221},[170,3551,2952],{"class":176},[170,3553,2900],{"class":198},[170,3555,2225],{"class":176},[170,3557,2228],{"class":176},[170,3559,619],{"class":176},[170,3561,3562,3564,3566,3568,3570,3572,3574,3576],{"class":172,"line":226},[170,3563,2965],{"class":176},[170,3565,2968],{"class":194},[170,3567,2225],{"class":176},[170,3569,2228],{"class":176},[170,3571,2975],{"class":176},[170,3573,2978],{"class":379},[170,3575,2225],{"class":176},[170,3577,2983],{"class":176},[170,3579,3580],{"class":172,"line":245},[170,3581,2988],{"class":180},[170,3583,3584],{"class":172,"line":268},[170,3585,2993],{"class":176},[170,3587,3588,3590,3592,3594,3596],{"class":172,"line":273},[170,3589,2952],{"class":176},[170,3591,2905],{"class":198},[170,3593,2225],{"class":176},[170,3595,2228],{"class":176},[170,3597,619],{"class":176},[170,3599,3600,3602,3604,3606,3608,3610,3612,3614],{"class":172,"line":289},[170,3601,2965],{"class":176},[170,3603,2968],{"class":194},[170,3605,2225],{"class":176},[170,3607,2228],{"class":176},[170,3609,2975],{"class":176},[170,3611,3020],{"class":379},[170,3613,2225],{"class":176},[170,3615,2983],{"class":176},[170,3617,3618],{"class":172,"line":295},[170,3619,2988],{"class":180},[170,3621,3622],{"class":172,"line":302},[170,3623,2993],{"class":176},[170,3625,3626],{"class":172,"line":308},[170,3627,3077],{"class":176},[170,3629,3630],{"class":172,"line":314},[170,3631,391],{"class":176},[396,3633,3634],{"id":3634},"ピボットの更新",[156,3636,3637,3638,3640,3641,2832],{},"多対多のリレーションリソースは、いずれかの関連モデルのピボット行を更新するための",[167,3639,2294],{},"エンドポイントを提供します。ピボット行の更新方法の詳細については、Laravelドキュメントの",[445,3642,3645],{"href":3643,"rel":3644},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Feloquent-relationships",[449],"Updating A Record On A Pivot Table",[156,3647,3092,3648,3650],{},[167,3649,2294],{},"という1つのフィールドのみで構成されます。そのプロパティは、関連モデルに対して更新されるピボットテーブルのフィールドです。",[156,3652,3653],{},[1453,3654,2199],{},[160,3656,3658],{"className":2202,"code":3657,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002F{role}\u002Fpivot\n{\n    \"pivot\" : { \u002F\u002F プロパティはピボットテーブルのカラムに対応します\n        \"example_pivot_field\" : \"updated value\",\n        \"another_pivot_field\" : \"new value\"\n        ...\n    }\n}\n",[167,3659,3660,3665,3669,3685,3704,3723,3728,3732],{"__ignoreMap":165},[170,3661,3662],{"class":172,"line":173},[170,3663,3664],{"class":298},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002F{role}\u002Fpivot\n",[170,3666,3667],{"class":172,"line":184},[170,3668,292],{"class":176},[170,3670,3671,3673,3675,3677,3679,3682],{"class":172,"line":191},[170,3672,2220],{"class":176},[170,3674,2294],{"class":276},[170,3676,2225],{"class":176},[170,3678,2228],{"class":176},[170,3680,3681],{"class":176}," {",[170,3683,3684],{"class":298}," \u002F\u002F プロパティはピボットテーブルのカラムに対応します\n",[170,3686,3687,3689,3691,3693,3695,3697,3700,3702],{"class":172,"line":221},[170,3688,2952],{"class":176},[170,3690,2968],{"class":198},[170,3692,2225],{"class":176},[170,3694,2228],{"class":176},[170,3696,2975],{"class":176},[170,3698,3699],{"class":379},"updated value",[170,3701,2225],{"class":176},[170,3703,2983],{"class":176},[170,3705,3706,3708,3711,3713,3715,3717,3720],{"class":172,"line":226},[170,3707,2952],{"class":176},[170,3709,3710],{"class":198},"another_pivot_field",[170,3712,2225],{"class":176},[170,3714,2228],{"class":176},[170,3716,2975],{"class":176},[170,3718,3719],{"class":379},"new value",[170,3721,3722],{"class":176},"\"\n",[170,3724,3725],{"class":172,"line":245},[170,3726,3727],{"class":180},"        ...\n",[170,3729,3730],{"class":172,"line":268},[170,3731,3077],{"class":176},[170,3733,3734],{"class":172,"line":273},[170,3735,391],{"class":176},[152,3737,3738],{"id":3738},"キーのカスタマイズ",[156,3740,3741,3745],{},[445,3742,3744],{"href":3743},"\u002Fja\u002Fguide\u002Fmodels#%E3%82%AD%E3%83%BC%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA","モデルリソース","と同様に、リレーションリソースは主キーを使用してデータベースからリソースを取得します。",[396,3747,3748],{"id":3748},"リレーションリソースのキーのカスタマイズ",[160,3750,3752],{"className":162,"code":3751,"language":164,"meta":165,"style":165},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Team;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass TeamPostsController extends RelationController\n{\n    \u002F**\n     * モデルの完全修飾クラス名\n     *\u002F\n    protected $model = Team::class; \u002F\u002F または \"App\\Models\\Team\"\n    \n    \u002F**\n     * Post モデルで定義されているリレーション名\n     *\u002F\n    protected $relation = 'posts';\n\n    \u002F**\n     * データベースからリソースを取得するために使用されるフィールド名。\n     *\n     * @return string\n     *\u002F\n    protected function keyName(): string\n    {\n        return 'slug'; \u002F\u002F ここでの \"slug\" は Post モデル（posts リレーション）のフィールドです\n    }\n}\n",[167,3753,3754,3760,3764,3784,3788,3805,3825,3829,3840,3844,3848,3852,3856,3878,3883,3887,3891,3895,3913,3917,3921,3926,3931,3944,3949,3964,3970,3989,3994],{"__ignoreMap":165},[170,3755,3756,3758],{"class":172,"line":173},[170,3757,177],{"class":176},[170,3759,181],{"class":180},[170,3761,3762],{"class":172,"line":184},[170,3763,188],{"emptyLinePlaceholder":187},[170,3765,3766,3768,3770,3772,3774,3776,3778,3780,3782],{"class":172,"line":191},[170,3767,195],{"class":194},[170,3769,199],{"class":198},[170,3771,202],{"class":176},[170,3773,205],{"class":198},[170,3775,202],{"class":176},[170,3777,210],{"class":198},[170,3779,202],{"class":176},[170,3781,215],{"class":198},[170,3783,218],{"class":176},[170,3785,3786],{"class":172,"line":221},[170,3787,188],{"emptyLinePlaceholder":187},[170,3789,3790,3792,3794,3796,3798,3800,3803],{"class":172,"line":226},[170,3791,229],{"class":194},[170,3793,199],{"class":180},[170,3795,202],{"class":176},[170,3797,94],{"class":180},[170,3799,202],{"class":176},[170,3801,3802],{"class":180},"Team",[170,3804,218],{"class":176},[170,3806,3807,3809,3811,3813,3815,3817,3819,3821,3823],{"class":172,"line":245},[170,3808,229],{"class":194},[170,3810,250],{"class":180},[170,3812,202],{"class":176},[170,3814,205],{"class":180},[170,3816,202],{"class":176},[170,3818,210],{"class":180},[170,3820,202],{"class":176},[170,3822,263],{"class":180},[170,3824,218],{"class":176},[170,3826,3827],{"class":172,"line":268},[170,3828,188],{"emptyLinePlaceholder":187},[170,3830,3831,3833,3836,3838],{"class":172,"line":273},[170,3832,277],{"class":276},[170,3834,3835],{"class":198}," TeamPostsController",[170,3837,283],{"class":276},[170,3839,286],{"class":198},[170,3841,3842],{"class":172,"line":289},[170,3843,292],{"class":176},[170,3845,3846],{"class":172,"line":295},[170,3847,299],{"class":298},[170,3849,3850],{"class":172,"line":302},[170,3851,305],{"class":298},[170,3853,3854],{"class":172,"line":308},[170,3855,311],{"class":298},[170,3857,3858,3860,3862,3864,3866,3869,3871,3873,3875],{"class":172,"line":314},[170,3859,317],{"class":276},[170,3861,320],{"class":176},[170,3863,323],{"class":180},[170,3865,326],{"class":176},[170,3867,3868],{"class":198}," Team",[170,3870,332],{"class":176},[170,3872,277],{"class":194},[170,3874,337],{"class":176},[170,3876,3877],{"class":298}," \u002F\u002F または \"App\\Models\\Team\"\n",[170,3879,3880],{"class":172,"line":343},[170,3881,3882],{"class":180},"    \n",[170,3884,3885],{"class":172,"line":348},[170,3886,299],{"class":298},[170,3888,3889],{"class":172,"line":353},[170,3890,356],{"class":298},[170,3892,3893],{"class":172,"line":359},[170,3894,311],{"class":298},[170,3896,3897,3899,3901,3903,3905,3907,3909,3911],{"class":172,"line":364},[170,3898,317],{"class":276},[170,3900,320],{"class":176},[170,3902,371],{"class":180},[170,3904,326],{"class":176},[170,3906,376],{"class":176},[170,3908,691],{"class":379},[170,3910,383],{"class":176},[170,3912,218],{"class":176},[170,3914,3915],{"class":172,"line":388},[170,3916,188],{"emptyLinePlaceholder":187},[170,3918,3919],{"class":172,"line":1000},[170,3920,299],{"class":298},[170,3922,3923],{"class":172,"line":1037},[170,3924,3925],{"class":298},"     * データベースからリソースを取得するために使用されるフィールド名。\n",[170,3927,3928],{"class":172,"line":1042},[170,3929,3930],{"class":298},"     *\n",[170,3932,3934,3937,3941],{"class":172,"line":3933},23,[170,3935,3936],{"class":298},"     * ",[170,3938,3940],{"class":3939},"svl4J","@return",[170,3942,3943],{"class":3939}," string\n",[170,3945,3947],{"class":172,"line":3946},24,[170,3948,311],{"class":298},[170,3950,3952,3954,3956,3959,3962],{"class":172,"line":3951},25,[170,3953,317],{"class":276},[170,3955,613],{"class":276},[170,3957,3958],{"class":586}," keyName",[170,3960,3961],{"class":176},"():",[170,3963,3943],{"class":194},[170,3965,3967],{"class":172,"line":3966},26,[170,3968,3969],{"class":176},"    {\n",[170,3971,3973,3977,3979,3982,3984,3986],{"class":172,"line":3972},27,[170,3974,3976],{"class":3975},"s7zQu","        return",[170,3978,376],{"class":176},[170,3980,3981],{"class":379},"slug",[170,3983,383],{"class":176},[170,3985,337],{"class":176},[170,3987,3988],{"class":298}," \u002F\u002F ここでの \"slug\" は Post モデル（posts リレーション）のフィールドです\n",[170,3990,3992],{"class":172,"line":3991},28,[170,3993,3077],{"class":176},[170,3995,3997],{"class":172,"line":3996},29,[170,3998,391],{"class":176},[396,4000,4001],{"id":4001},"親リソースのキーのカスタマイズ",[156,4003,4004,4005,4008],{},"親リソースとリレーションリソースの両方がカスタムキーを使用する場合は、",[167,4006,4007],{},"parentKeyName","メソッドもオーバーライドする必要があります。",[160,4010,4012],{"className":162,"code":4011,"language":164,"meta":165,"style":165},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Team;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass TeamPostsController extends RelationController\n{\n    \u002F**\n     * モデルの完全修飾クラス名\n     *\u002F\n    protected $model = Team::class; \u002F\u002F または \"App\\Models\\Team\"\n    \n    \u002F**\n     * Post モデルで定義されているリレーション名\n     *\u002F\n    protected $relation = 'posts';\n\n     \u002F**\n     * データベースから親リソースを取得するために使用されるフィールド名。\n     *\n     * @return string\n     *\u002F\n    protected function parentKeyName(): string\n    {\n        return 'short_name'; \u002F\u002F ここでの \"short_name\" は Team モデルのフィールドです\n    }\n\n    \u002F**\n     * データベースからリソースを取得するために使用されるフィールド名。\n     *\n     * @return string\n     *\u002F\n    protected function keyName(): string\n    {\n        return 'slug'; \u002F\u002F ここでの \"slug\" は Post モデル（posts リレーション）のフィールドです\n    }\n}\n",[167,4013,4014,4020,4024,4044,4048,4064,4084,4088,4098,4102,4106,4110,4114,4134,4138,4142,4146,4150,4168,4172,4177,4182,4186,4194,4198,4211,4215,4231,4235,4239,4244,4249,4254,4263,4268,4281,4286,4301,4306],{"__ignoreMap":165},[170,4015,4016,4018],{"class":172,"line":173},[170,4017,177],{"class":176},[170,4019,181],{"class":180},[170,4021,4022],{"class":172,"line":184},[170,4023,188],{"emptyLinePlaceholder":187},[170,4025,4026,4028,4030,4032,4034,4036,4038,4040,4042],{"class":172,"line":191},[170,4027,195],{"class":194},[170,4029,199],{"class":198},[170,4031,202],{"class":176},[170,4033,205],{"class":198},[170,4035,202],{"class":176},[170,4037,210],{"class":198},[170,4039,202],{"class":176},[170,4041,215],{"class":198},[170,4043,218],{"class":176},[170,4045,4046],{"class":172,"line":221},[170,4047,188],{"emptyLinePlaceholder":187},[170,4049,4050,4052,4054,4056,4058,4060,4062],{"class":172,"line":226},[170,4051,229],{"class":194},[170,4053,199],{"class":180},[170,4055,202],{"class":176},[170,4057,94],{"class":180},[170,4059,202],{"class":176},[170,4061,3802],{"class":180},[170,4063,218],{"class":176},[170,4065,4066,4068,4070,4072,4074,4076,4078,4080,4082],{"class":172,"line":245},[170,4067,229],{"class":194},[170,4069,250],{"class":180},[170,4071,202],{"class":176},[170,4073,205],{"class":180},[170,4075,202],{"class":176},[170,4077,210],{"class":180},[170,4079,202],{"class":176},[170,4081,263],{"class":180},[170,4083,218],{"class":176},[170,4085,4086],{"class":172,"line":268},[170,4087,188],{"emptyLinePlaceholder":187},[170,4089,4090,4092,4094,4096],{"class":172,"line":273},[170,4091,277],{"class":276},[170,4093,3835],{"class":198},[170,4095,283],{"class":276},[170,4097,286],{"class":198},[170,4099,4100],{"class":172,"line":289},[170,4101,292],{"class":176},[170,4103,4104],{"class":172,"line":295},[170,4105,299],{"class":298},[170,4107,4108],{"class":172,"line":302},[170,4109,305],{"class":298},[170,4111,4112],{"class":172,"line":308},[170,4113,311],{"class":298},[170,4115,4116,4118,4120,4122,4124,4126,4128,4130,4132],{"class":172,"line":314},[170,4117,317],{"class":276},[170,4119,320],{"class":176},[170,4121,323],{"class":180},[170,4123,326],{"class":176},[170,4125,3868],{"class":198},[170,4127,332],{"class":176},[170,4129,277],{"class":194},[170,4131,337],{"class":176},[170,4133,3877],{"class":298},[170,4135,4136],{"class":172,"line":343},[170,4137,3882],{"class":180},[170,4139,4140],{"class":172,"line":348},[170,4141,299],{"class":298},[170,4143,4144],{"class":172,"line":353},[170,4145,356],{"class":298},[170,4147,4148],{"class":172,"line":359},[170,4149,311],{"class":298},[170,4151,4152,4154,4156,4158,4160,4162,4164,4166],{"class":172,"line":364},[170,4153,317],{"class":276},[170,4155,320],{"class":176},[170,4157,371],{"class":180},[170,4159,326],{"class":176},[170,4161,376],{"class":176},[170,4163,691],{"class":379},[170,4165,383],{"class":176},[170,4167,218],{"class":176},[170,4169,4170],{"class":172,"line":388},[170,4171,188],{"emptyLinePlaceholder":187},[170,4173,4174],{"class":172,"line":1000},[170,4175,4176],{"class":298},"     \u002F**\n",[170,4178,4179],{"class":172,"line":1037},[170,4180,4181],{"class":298},"     * データベースから親リソースを取得するために使用されるフィールド名。\n",[170,4183,4184],{"class":172,"line":1042},[170,4185,3930],{"class":298},[170,4187,4188,4190,4192],{"class":172,"line":3933},[170,4189,3936],{"class":298},[170,4191,3940],{"class":3939},[170,4193,3943],{"class":3939},[170,4195,4196],{"class":172,"line":3946},[170,4197,311],{"class":298},[170,4199,4200,4202,4204,4207,4209],{"class":172,"line":3951},[170,4201,317],{"class":276},[170,4203,613],{"class":276},[170,4205,4206],{"class":586}," parentKeyName",[170,4208,3961],{"class":176},[170,4210,3943],{"class":194},[170,4212,4213],{"class":172,"line":3966},[170,4214,3969],{"class":176},[170,4216,4217,4219,4221,4224,4226,4228],{"class":172,"line":3972},[170,4218,3976],{"class":3975},[170,4220,376],{"class":176},[170,4222,4223],{"class":379},"short_name",[170,4225,383],{"class":176},[170,4227,337],{"class":176},[170,4229,4230],{"class":298}," \u002F\u002F ここでの \"short_name\" は Team モデルのフィールドです\n",[170,4232,4233],{"class":172,"line":3991},[170,4234,3077],{"class":176},[170,4236,4237],{"class":172,"line":3996},[170,4238,188],{"emptyLinePlaceholder":187},[170,4240,4242],{"class":172,"line":4241},30,[170,4243,299],{"class":298},[170,4245,4247],{"class":172,"line":4246},31,[170,4248,3925],{"class":298},[170,4250,4252],{"class":172,"line":4251},32,[170,4253,3930],{"class":298},[170,4255,4257,4259,4261],{"class":172,"line":4256},33,[170,4258,3936],{"class":298},[170,4260,3940],{"class":3939},[170,4262,3943],{"class":3939},[170,4264,4266],{"class":172,"line":4265},34,[170,4267,311],{"class":298},[170,4269,4271,4273,4275,4277,4279],{"class":172,"line":4270},35,[170,4272,317],{"class":276},[170,4274,613],{"class":276},[170,4276,3958],{"class":586},[170,4278,3961],{"class":176},[170,4280,3943],{"class":194},[170,4282,4284],{"class":172,"line":4283},36,[170,4285,3969],{"class":176},[170,4287,4289,4291,4293,4295,4297,4299],{"class":172,"line":4288},37,[170,4290,3976],{"class":3975},[170,4292,376],{"class":176},[170,4294,3981],{"class":379},[170,4296,383],{"class":176},[170,4298,337],{"class":176},[170,4300,3988],{"class":298},[170,4302,4304],{"class":172,"line":4303},38,[170,4305,3077],{"class":176},[170,4307,4309],{"class":172,"line":4308},39,[170,4310,391],{"class":176},[152,4312,4313],{"id":4313},"クエリのカスタマイズ",[156,4315,4316,4320],{},[445,4317,4319],{"href":4318},"\u002Fja\u002Fguide\u002Fmodels#%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA","モデルコントローラー","と同様に、各エンドポイントのEloquentクエリを再定義できます。唯一の大きな違いは、リレーションコントローラーの各エンドポイントには、リレーションの親モデルを取得するための「build」および「run」メソッドも用意されている点です。",[396,4322,4323],{"id":4323},"標準操作のメソッド",[4325,4326,4327,4352],"table",{},[4328,4329,4330],"thead",{},[4331,4332,4333,4337,4340,4343,4346,4349],"tr",{},[4334,4335,4336],"th",{},"メソッド",[4334,4338,4339],{},"Build(親)",[4334,4341,4342],{},"Run(親)",[4334,4344,4345],{},"Build",[4334,4347,4348],{},"Run",[4334,4350,4351],{},"Perform",[4353,4354,4355,4375,4394,4412,4431,4450],"tbody",{},[4331,4356,4357,4360,4363,4366,4369,4372],{},[4358,4359,1721],"td",{},[4358,4361,4362],{},"buildIndexParentFetchQuery",[4358,4364,4365],{},"runIndexParentFetchQuery",[4358,4367,4368],{},"buildIndexFetchQuery",[4358,4370,4371],{},"runIndexFetchQuery",[4358,4373,4374],{},"-",[4331,4376,4377,4379,4382,4385,4388,4391],{},[4358,4378,1426],{},[4358,4380,4381],{},"buildStoreParentFetchQuery",[4358,4383,4384],{},"runStoreParentFetchQuery",[4358,4386,4387],{},"buildStoreFetchQuery",[4358,4389,4390],{},"runStoreFetchQuery",[4358,4392,4393],{},"performStore",[4331,4395,4396,4398,4401,4404,4407,4410],{},[4358,4397,1429],{},[4358,4399,4400],{},"buildShowParentFetchQuery",[4358,4402,4403],{},"runShowParentFetchQuery",[4358,4405,4406],{},"buildShowFetchQuery",[4358,4408,4409],{},"runShowFetchQuery",[4358,4411,4374],{},[4331,4413,4414,4416,4419,4422,4425,4428],{},[4358,4415,1432],{},[4358,4417,4418],{},"buildUpdateParentFetchQuery",[4358,4420,4421],{},"runUpdateParentFetchQuery",[4358,4423,4424],{},"buildUpdateFetchQuery",[4358,4426,4427],{},"runUpdateFetchQuery",[4358,4429,4430],{},"performUpdate",[4331,4432,4433,4435,4438,4441,4444,4447],{},[4358,4434,1435],{},[4358,4436,4437],{},"buildDestroyParentFetchQuery",[4358,4439,4440],{},"runDestroyParentFetchQuery",[4358,4442,4443],{},"buildDestroyFetchQuery",[4358,4445,4446],{},"runDestroyFetchQuery",[4358,4448,4449],{},"performDestroy",[4331,4451,4452,4454,4457,4460,4463,4466],{},[4358,4453,1225],{},[4358,4455,4456],{},"buildRestoreParentFetchQuery",[4358,4458,4459],{},"runRestoreParentFetchQuery",[4358,4461,4462],{},"buildRestoreFetchQuery",[4358,4464,4465],{},"runRestoreFetchQuery",[4358,4467,4468],{},"performRestore",[396,4470,4472],{"id":4471},"_1対多操作のメソッド","1対多操作のメソッド",[4325,4474,4475,4491],{},[4328,4476,4477],{},[4331,4478,4479,4481,4483,4485,4487,4489],{},[4334,4480,4336],{},[4334,4482,4339],{},[4334,4484,4342],{},[4334,4486,4345],{},[4334,4488,4348],{},[4334,4490,4351],{},[4353,4492,4493,4512],{},[4331,4494,4495,4497,4500,4503,4506,4509],{},[4358,4496,1735],{},[4358,4498,4499],{},"buildAssociateParentFetchQuery",[4358,4501,4502],{},"runAssociateParentFetchQuery",[4358,4504,4505],{},"buildAssociateFetchQuery",[4358,4507,4508],{},"runAssociateFetchQuery",[4358,4510,4511],{},"performAssociate",[4331,4513,4514,4516,4519,4522,4525,4528],{},[4358,4515,1738],{},[4358,4517,4518],{},"buildDissociateParentFetchQuery",[4358,4520,4521],{},"runDissociateParentFetchQuery",[4358,4523,4524],{},"buildDissociateFetchQuery",[4358,4526,4527],{},"runDissociateFetchQuery",[4358,4529,4530],{},"performDissociate",[396,4532,4533],{"id":4533},"多対多操作のメソッド",[4325,4535,4536,4552],{},[4328,4537,4538],{},[4331,4539,4540,4542,4544,4546,4548,4550],{},[4334,4541,4336],{},[4334,4543,4339],{},[4334,4545,4342],{},[4334,4547,4345],{},[4334,4549,4348],{},[4334,4551,4351],{},[4353,4553,4554,4571,4588,4605,4622],{},[4331,4555,4556,4558,4561,4564,4566,4568],{},[4358,4557,426],{},[4358,4559,4560],{},"buildAttachParentFetchQuery",[4358,4562,4563],{},"runAttachParentFetchQuery",[4358,4565,4374],{},[4358,4567,4374],{},[4358,4569,4570],{},"performAttach",[4331,4572,4573,4575,4578,4581,4583,4585],{},[4358,4574,2287],{},[4358,4576,4577],{},"buildDetachParentFetchQuery",[4358,4579,4580],{},"runDetachParentFetchQuery",[4358,4582,4374],{},[4358,4584,4374],{},[4358,4586,4587],{},"performDetach",[4331,4589,4590,4592,4595,4598,4600,4602],{},[4358,4591,430],{},[4358,4593,4594],{},"buildSyncParentFetchQuery",[4358,4596,4597],{},"runSyncParentFetchQuery",[4358,4599,4374],{},[4358,4601,4374],{},[4358,4603,4604],{},"performSync",[4331,4606,4607,4609,4612,4615,4617,4619],{},[4358,4608,433],{},[4358,4610,4611],{},"buildToggleParentFetchQuery",[4358,4613,4614],{},"runToggleParentFetchQuery",[4358,4616,4374],{},[4358,4618,4374],{},[4358,4620,4621],{},"performToggle",[4331,4623,4624,4626,4629,4632,4634,4636],{},[4358,4625,436],{},[4358,4627,4628],{},"buildUpdatePivotParentFetchQuery",[4358,4630,4631],{},"runUpdatePivotParentFetchQuery",[4358,4633,4374],{},[4358,4635,4374],{},[4358,4637,4638],{},"performUpdatePivot",[457,4640,4641],{"icon":459},[156,4642,4643,4646],{},[167,4644,4645],{},"performFill","メソッドをオーバーライドすることで、モデルへの属性の設定方法をカスタマイズすることもできます。",[4648,4649,4650],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .svl4J, html code.shiki .svl4J{--shiki-light:#F76D47;--shiki-light-font-style:italic;--shiki-default:#F78C6C;--shiki-default-font-style:italic;--shiki-dark:#F78C6C;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":165,"searchDepth":173,"depth":184,"links":4652},[4653,4656,4659,4660,4664,4671,4675],{"id":154,"depth":184,"text":154,"children":4654},[4655],{"id":398,"depth":191,"text":399},{"id":488,"depth":184,"text":488,"children":4657},[4658],{"id":1048,"depth":191,"text":1048},{"id":1382,"depth":184,"text":1383},{"id":1696,"depth":184,"text":1697,"children":4661},[4662,4663],{"id":2177,"depth":191,"text":2178},{"id":2238,"depth":191,"text":2239},{"id":2254,"depth":184,"text":2254,"children":4665},[4666,4667,4668,4669,4670],{"id":2820,"depth":191,"text":2820},{"id":3084,"depth":191,"text":3084},{"id":3265,"depth":191,"text":3266},{"id":3457,"depth":191,"text":3457},{"id":3634,"depth":191,"text":3634},{"id":3738,"depth":184,"text":3738,"children":4672},[4673,4674],{"id":3748,"depth":191,"text":3748},{"id":4001,"depth":191,"text":4001},{"id":4313,"depth":184,"text":4313,"children":4676},[4677,4678,4679],{"id":4323,"depth":191,"text":4323},{"id":4471,"depth":191,"text":4472},{"id":4533,"depth":191,"text":4533},"モデルのリレーションをAPI経由で公開する方法を学びます。","md",null,{},{"title":24,"description":4680},"LAPrI_bv3nq3mHcvlvY8eV3KBLFJ2vJkOSbjmox9Hac",[4687,4689],{"title":20,"path":21,"stem":22,"description":4688,"children":-1},"モデルをAPI経由で公開する方法を学びます。",{"title":28,"path":29,"stem":30,"description":4690,"children":-1},"Orionの強力な機能のひとつがフックです。メソッド自体をオーバーライドすることなく、特定のエンドポイント(または複数のエンドポイント)内の処理フローに割り込むことができます。",{"id":4692,"title":98,"body":4693,"description":8746,"extension":4681,"links":4682,"meta":8747,"navigation":187,"path":8748,"seo":8749,"stem":8750,"__hash__":8751},"docs_en\u002F1.guide\u002F04.relationships.md",{"type":149,"value":4694,"toc":8717},[4695,4699,4702,4868,4871,4875,4890,4906,4919,4941,4945,4948,5444,5448,5457,5613,5625,5733,5737,5740,5768,5779,5791,5796,5834,5839,5981,6004,6008,6011,6025,6050,6054,6092,6096,6436,6440,6446,6455,6460,6488,6492,6498,6504,6508,6511,6521,6552,6556,6594,6598,7010,7029,7033,7043,7055,7060,7072,7077,7117,7122,7268,7271,7277,7282,7299,7303,7343,7347,7441,7445,7454,7462,7467,7476,7480,7516,7520,7628,7632,7640,7648,7652,7688,7692,7800,7804,7812,7817,7821,7895,7899,7907,7911,8139,8143,8149,8438,8442,8450,8454,8561,8565,8613,8617,8707,8715],[152,4696,4698],{"id":4697},"setting-up-controller","Setting up Controller",[156,4700,4701],{},"Defining a model relationship controller is very similar to defining a model controller.",[160,4703,4705],{"className":162,"code":4704,"language":164,"meta":165,"style":165},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Post;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass PostCommentsController extends RelationController\n{\n    \u002F**\n     * Fully-qualified model class name\n     *\u002F\n    protected $model = Post::class; \u002F\u002F or \"App\\Models\\Post\"\n\n    \u002F**\n     * Name of the relationship as it is defined on the Post model\n     *\u002F\n    protected $relation = 'comments';\n}\n",[167,4706,4707,4713,4717,4737,4741,4757,4777,4781,4791,4795,4799,4804,4808,4829,4833,4837,4842,4846,4864],{"__ignoreMap":165},[170,4708,4709,4711],{"class":172,"line":173},[170,4710,177],{"class":176},[170,4712,181],{"class":180},[170,4714,4715],{"class":172,"line":184},[170,4716,188],{"emptyLinePlaceholder":187},[170,4718,4719,4721,4723,4725,4727,4729,4731,4733,4735],{"class":172,"line":191},[170,4720,195],{"class":194},[170,4722,199],{"class":198},[170,4724,202],{"class":176},[170,4726,205],{"class":198},[170,4728,202],{"class":176},[170,4730,210],{"class":198},[170,4732,202],{"class":176},[170,4734,215],{"class":198},[170,4736,218],{"class":176},[170,4738,4739],{"class":172,"line":221},[170,4740,188],{"emptyLinePlaceholder":187},[170,4742,4743,4745,4747,4749,4751,4753,4755],{"class":172,"line":226},[170,4744,229],{"class":194},[170,4746,199],{"class":180},[170,4748,202],{"class":176},[170,4750,94],{"class":180},[170,4752,202],{"class":176},[170,4754,240],{"class":180},[170,4756,218],{"class":176},[170,4758,4759,4761,4763,4765,4767,4769,4771,4773,4775],{"class":172,"line":245},[170,4760,229],{"class":194},[170,4762,250],{"class":180},[170,4764,202],{"class":176},[170,4766,205],{"class":180},[170,4768,202],{"class":176},[170,4770,210],{"class":180},[170,4772,202],{"class":176},[170,4774,263],{"class":180},[170,4776,218],{"class":176},[170,4778,4779],{"class":172,"line":268},[170,4780,188],{"emptyLinePlaceholder":187},[170,4782,4783,4785,4787,4789],{"class":172,"line":273},[170,4784,277],{"class":276},[170,4786,280],{"class":198},[170,4788,283],{"class":276},[170,4790,286],{"class":198},[170,4792,4793],{"class":172,"line":289},[170,4794,292],{"class":176},[170,4796,4797],{"class":172,"line":295},[170,4798,299],{"class":298},[170,4800,4801],{"class":172,"line":302},[170,4802,4803],{"class":298},"     * Fully-qualified model class name\n",[170,4805,4806],{"class":172,"line":308},[170,4807,311],{"class":298},[170,4809,4810,4812,4814,4816,4818,4820,4822,4824,4826],{"class":172,"line":314},[170,4811,317],{"class":276},[170,4813,320],{"class":176},[170,4815,323],{"class":180},[170,4817,326],{"class":176},[170,4819,329],{"class":198},[170,4821,332],{"class":176},[170,4823,277],{"class":194},[170,4825,337],{"class":176},[170,4827,4828],{"class":298}," \u002F\u002F or \"App\\Models\\Post\"\n",[170,4830,4831],{"class":172,"line":343},[170,4832,188],{"emptyLinePlaceholder":187},[170,4834,4835],{"class":172,"line":348},[170,4836,299],{"class":298},[170,4838,4839],{"class":172,"line":353},[170,4840,4841],{"class":298},"     * Name of the relationship as it is defined on the Post model\n",[170,4843,4844],{"class":172,"line":359},[170,4845,311],{"class":298},[170,4847,4848,4850,4852,4854,4856,4858,4860,4862],{"class":172,"line":364},[170,4849,317],{"class":276},[170,4851,320],{"class":176},[170,4853,371],{"class":180},[170,4855,326],{"class":176},[170,4857,376],{"class":176},[170,4859,380],{"class":379},[170,4861,383],{"class":176},[170,4863,218],{"class":176},[170,4865,4866],{"class":172,"line":388},[170,4867,391],{"class":176},[156,4869,4870],{},"At this point, you do not need to worry about different relationship types - controllers are defined in the same way for all types of relationships.",[396,4872,4874],{"id":4873},"fillable-pivot-fields-and-casting","Fillable Pivot Fields and Casting",[156,4876,4877,4878,4880,4881,4883,4884,4886,4887,4889],{},"If you are defining the controller for ",[167,4879,404],{}," or ",[167,4882,408],{}," relation type and have additional fields on the pivot table, there are two additional properties to note - ",[167,4885,412],{}," and ",[167,4888,416],{},".",[156,4891,4892,4893,4895,4896,4898,4899,4898,4901,4886,4903,4905],{},"The ",[167,4894,422],{}," property needs to contain a list of pivot table fields that can be updated via ",[167,4897,426],{},", ",[167,4900,430],{},[167,4902,433],{},[167,4904,436],{}," endpoints.",[156,4907,4892,4908,4910,4911,4913,4914,4918],{},[167,4909,442],{}," property should contain a list of json fields on the pivot table that you would like to automatically cast to\u002Ffrom array. If you have defined ",[167,4912,454],{}," property on the related ",[445,4915,4917],{"href":447,"rel":4916},[449],"Pivot model",", then you can skip it.",[457,4920,4921,4924],{"icon":459},[156,4922,4923],{},"Key Takeaways",[464,4925,4926,4931,4936],{},[467,4927,4928,4929],{},"Model relationship controllers always extend ",[167,4930,472],{},[467,4932,4933,4935],{},[167,4934,478],{}," property is set to a fully qualified model class name",[467,4937,4938,4940],{},[167,4939,484],{}," property is set to the exact relationship name as it is defined on the model",[152,4942,4944],{"id":4943},"setting-up-routes","Setting up Routes",[156,4946,4947],{},"Routes, unlike controllers, are defined in a different way for each relationship type.",[160,4949,4950],{"className":162,"code":494,"language":164,"meta":165,"style":165},[167,4951,4952,4958,4962,4982,4998,5018,5022,5026,5058,5062,5096,5130,5164,5198,5232,5266,5300,5334,5368,5402,5436,5440],{"__ignoreMap":165},[170,4953,4954,4956],{"class":172,"line":173},[170,4955,177],{"class":176},[170,4957,181],{"class":180},[170,4959,4960],{"class":172,"line":184},[170,4961,188],{"emptyLinePlaceholder":187},[170,4963,4964,4966,4968,4970,4972,4974,4976,4978,4980],{"class":172,"line":191},[170,4965,229],{"class":194},[170,4967,513],{"class":180},[170,4969,202],{"class":176},[170,4971,518],{"class":180},[170,4973,202],{"class":176},[170,4975,523],{"class":180},[170,4977,202],{"class":176},[170,4979,528],{"class":180},[170,4981,218],{"class":176},[170,4983,4984,4986,4988,4990,4992,4994,4996],{"class":172,"line":221},[170,4985,229],{"class":194},[170,4987,250],{"class":180},[170,4989,202],{"class":176},[170,4991,523],{"class":180},[170,4993,202],{"class":176},[170,4995,545],{"class":180},[170,4997,218],{"class":176},[170,4999,5000,5002,5004,5006,5008,5010,5012,5014,5016],{"class":172,"line":226},[170,5001,229],{"class":194},[170,5003,199],{"class":180},[170,5005,202],{"class":176},[170,5007,205],{"class":180},[170,5009,202],{"class":176},[170,5011,210],{"class":180},[170,5013,202],{"class":176},[170,5015,566],{"class":180},[170,5017,218],{"class":176},[170,5019,5020],{"class":172,"line":245},[170,5021,573],{"class":176},[170,5023,5024],{"class":172,"line":268},[170,5025,188],{"emptyLinePlaceholder":187},[170,5027,5028,5030,5032,5034,5036,5038,5040,5042,5044,5046,5048,5050,5052,5054,5056],{"class":172,"line":273},[170,5029,528],{"class":198},[170,5031,332],{"class":176},[170,5033,587],{"class":586},[170,5035,590],{"class":176},[170,5037,383],{"class":176},[170,5039,595],{"class":379},[170,5041,383],{"class":176},[170,5043,600],{"class":176},[170,5045,376],{"class":176},[170,5047,605],{"class":379},[170,5049,383],{"class":176},[170,5051,610],{"class":176},[170,5053,613],{"class":276},[170,5055,616],{"class":176},[170,5057,619],{"class":176},[170,5059,5060],{"class":172,"line":289},[170,5061,624],{"class":176},[170,5063,5064,5066,5068,5070,5072,5074,5076,5078,5080,5082,5084,5086,5088,5090,5092,5094],{"class":172,"line":295},[170,5065,629],{"class":198},[170,5067,332],{"class":176},[170,5069,634],{"class":586},[170,5071,637],{"class":176},[170,5073,383],{"class":176},[170,5075,642],{"class":379},[170,5077,383],{"class":176},[170,5079,647],{"class":176},[170,5081,376],{"class":176},[170,5083,652],{"class":379},[170,5085,383],{"class":176},[170,5087,647],{"class":176},[170,5089,659],{"class":198},[170,5091,332],{"class":176},[170,5093,277],{"class":194},[170,5095,666],{"class":176},[170,5097,5098,5100,5102,5104,5106,5108,5110,5112,5114,5116,5118,5120,5122,5124,5126,5128],{"class":172,"line":302},[170,5099,629],{"class":198},[170,5101,332],{"class":176},[170,5103,675],{"class":586},[170,5105,637],{"class":176},[170,5107,383],{"class":176},[170,5109,682],{"class":379},[170,5111,383],{"class":176},[170,5113,647],{"class":176},[170,5115,376],{"class":176},[170,5117,691],{"class":379},[170,5119,383],{"class":176},[170,5121,647],{"class":176},[170,5123,698],{"class":198},[170,5125,332],{"class":176},[170,5127,277],{"class":194},[170,5129,666],{"class":176},[170,5131,5132,5134,5136,5138,5140,5142,5144,5146,5148,5150,5152,5154,5156,5158,5160,5162],{"class":172,"line":308},[170,5133,629],{"class":198},[170,5135,332],{"class":176},[170,5137,713],{"class":586},[170,5139,637],{"class":176},[170,5141,383],{"class":176},[170,5143,691],{"class":379},[170,5145,383],{"class":176},[170,5147,647],{"class":176},[170,5149,376],{"class":176},[170,5151,728],{"class":379},[170,5153,383],{"class":176},[170,5155,647],{"class":176},[170,5157,735],{"class":198},[170,5159,332],{"class":176},[170,5161,277],{"class":194},[170,5163,666],{"class":176},[170,5165,5166,5168,5170,5172,5174,5176,5178,5180,5182,5184,5186,5188,5190,5192,5194,5196],{"class":172,"line":314},[170,5167,629],{"class":198},[170,5169,332],{"class":176},[170,5171,750],{"class":586},[170,5173,637],{"class":176},[170,5175,383],{"class":176},[170,5177,682],{"class":379},[170,5179,383],{"class":176},[170,5181,647],{"class":176},[170,5183,376],{"class":176},[170,5185,765],{"class":379},[170,5187,383],{"class":176},[170,5189,647],{"class":176},[170,5191,772],{"class":198},[170,5193,332],{"class":176},[170,5195,277],{"class":194},[170,5197,666],{"class":176},[170,5199,5200,5202,5204,5206,5208,5210,5212,5214,5216,5218,5220,5222,5224,5226,5228,5230],{"class":172,"line":343},[170,5201,629],{"class":198},[170,5203,332],{"class":176},[170,5205,787],{"class":586},[170,5207,637],{"class":176},[170,5209,383],{"class":176},[170,5211,691],{"class":379},[170,5213,383],{"class":176},[170,5215,647],{"class":176},[170,5217,376],{"class":176},[170,5219,802],{"class":379},[170,5221,383],{"class":176},[170,5223,647],{"class":176},[170,5225,809],{"class":198},[170,5227,332],{"class":176},[170,5229,277],{"class":194},[170,5231,666],{"class":176},[170,5233,5234,5236,5238,5240,5242,5244,5246,5248,5250,5252,5254,5256,5258,5260,5262,5264],{"class":172,"line":348},[170,5235,629],{"class":198},[170,5237,332],{"class":176},[170,5239,824],{"class":586},[170,5241,637],{"class":176},[170,5243,383],{"class":176},[170,5245,682],{"class":379},[170,5247,383],{"class":176},[170,5249,647],{"class":176},[170,5251,376],{"class":176},[170,5253,380],{"class":379},[170,5255,383],{"class":176},[170,5257,647],{"class":176},[170,5259,845],{"class":198},[170,5261,332],{"class":176},[170,5263,277],{"class":194},[170,5265,666],{"class":176},[170,5267,5268,5270,5272,5274,5276,5278,5280,5282,5284,5286,5288,5290,5292,5294,5296,5298],{"class":172,"line":353},[170,5269,629],{"class":198},[170,5271,332],{"class":176},[170,5273,860],{"class":586},[170,5275,637],{"class":176},[170,5277,383],{"class":176},[170,5279,691],{"class":379},[170,5281,383],{"class":176},[170,5283,647],{"class":176},[170,5285,376],{"class":176},[170,5287,652],{"class":379},[170,5289,383],{"class":176},[170,5291,647],{"class":176},[170,5293,881],{"class":198},[170,5295,332],{"class":176},[170,5297,277],{"class":194},[170,5299,666],{"class":176},[170,5301,5302,5304,5306,5308,5310,5312,5314,5316,5318,5320,5322,5324,5326,5328,5330,5332],{"class":172,"line":359},[170,5303,629],{"class":198},[170,5305,332],{"class":176},[170,5307,896],{"class":586},[170,5309,637],{"class":176},[170,5311,383],{"class":176},[170,5313,691],{"class":379},[170,5315,383],{"class":176},[170,5317,647],{"class":176},[170,5319,376],{"class":176},[170,5321,380],{"class":379},[170,5323,383],{"class":176},[170,5325,647],{"class":176},[170,5327,280],{"class":198},[170,5329,332],{"class":176},[170,5331,277],{"class":194},[170,5333,666],{"class":176},[170,5335,5336,5338,5340,5342,5344,5346,5348,5350,5352,5354,5356,5358,5360,5362,5364,5366],{"class":172,"line":364},[170,5337,629],{"class":198},[170,5339,332],{"class":176},[170,5341,931],{"class":586},[170,5343,637],{"class":176},[170,5345,383],{"class":176},[170,5347,938],{"class":379},[170,5349,383],{"class":176},[170,5351,647],{"class":176},[170,5353,376],{"class":176},[170,5355,947],{"class":379},[170,5357,383],{"class":176},[170,5359,647],{"class":176},[170,5361,954],{"class":198},[170,5363,332],{"class":176},[170,5365,277],{"class":194},[170,5367,666],{"class":176},[170,5369,5370,5372,5374,5376,5378,5380,5382,5384,5386,5388,5390,5392,5394,5396,5398,5400],{"class":172,"line":388},[170,5371,629],{"class":198},[170,5373,332],{"class":176},[170,5375,969],{"class":586},[170,5377,637],{"class":176},[170,5379,383],{"class":176},[170,5381,691],{"class":379},[170,5383,383],{"class":176},[170,5385,647],{"class":176},[170,5387,376],{"class":176},[170,5389,984],{"class":379},[170,5391,383],{"class":176},[170,5393,647],{"class":176},[170,5395,991],{"class":198},[170,5397,332],{"class":176},[170,5399,277],{"class":194},[170,5401,666],{"class":176},[170,5403,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426,5428,5430,5432,5434],{"class":172,"line":1000},[170,5405,629],{"class":198},[170,5407,332],{"class":176},[170,5409,1007],{"class":586},[170,5411,637],{"class":176},[170,5413,383],{"class":176},[170,5415,984],{"class":379},[170,5417,383],{"class":176},[170,5419,647],{"class":176},[170,5421,376],{"class":176},[170,5423,691],{"class":379},[170,5425,383],{"class":176},[170,5427,647],{"class":176},[170,5429,1028],{"class":198},[170,5431,332],{"class":176},[170,5433,277],{"class":194},[170,5435,666],{"class":176},[170,5437,5438],{"class":172,"line":1037},[170,5439,624],{"class":176},[170,5441,5442],{"class":172,"line":1042},[170,5443,1045],{"class":176},[396,5445,5447],{"id":5446},"soft-deletes","Soft Deletes",[156,5449,5450,5451,5453,5454,5456],{},"If your relation model uses the ",[167,5452,1054],{}," trait and you would like to expose the same functionality via the API, call the ",[167,5455,1058],{}," method upon resource registration.",[160,5458,5459],{"className":162,"code":1062,"language":164,"meta":165,"style":165},[167,5460,5461,5467,5471,5491,5507,5527,5531,5563,5567,5605,5609],{"__ignoreMap":165},[170,5462,5463,5465],{"class":172,"line":173},[170,5464,177],{"class":176},[170,5466,181],{"class":180},[170,5468,5469],{"class":172,"line":184},[170,5470,188],{"emptyLinePlaceholder":187},[170,5472,5473,5475,5477,5479,5481,5483,5485,5487,5489],{"class":172,"line":191},[170,5474,229],{"class":194},[170,5476,513],{"class":180},[170,5478,202],{"class":176},[170,5480,518],{"class":180},[170,5482,202],{"class":176},[170,5484,523],{"class":180},[170,5486,202],{"class":176},[170,5488,528],{"class":180},[170,5490,218],{"class":176},[170,5492,5493,5495,5497,5499,5501,5503,5505],{"class":172,"line":221},[170,5494,229],{"class":194},[170,5496,250],{"class":180},[170,5498,202],{"class":176},[170,5500,523],{"class":180},[170,5502,202],{"class":176},[170,5504,545],{"class":180},[170,5506,218],{"class":176},[170,5508,5509,5511,5513,5515,5517,5519,5521,5523,5525],{"class":172,"line":226},[170,5510,229],{"class":194},[170,5512,199],{"class":180},[170,5514,202],{"class":176},[170,5516,205],{"class":180},[170,5518,202],{"class":176},[170,5520,210],{"class":180},[170,5522,202],{"class":176},[170,5524,1129],{"class":180},[170,5526,218],{"class":176},[170,5528,5529],{"class":172,"line":245},[170,5530,188],{"emptyLinePlaceholder":187},[170,5532,5533,5535,5537,5539,5541,5543,5545,5547,5549,5551,5553,5555,5557,5559,5561],{"class":172,"line":268},[170,5534,528],{"class":198},[170,5536,332],{"class":176},[170,5538,587],{"class":586},[170,5540,590],{"class":176},[170,5542,383],{"class":176},[170,5544,595],{"class":379},[170,5546,383],{"class":176},[170,5548,600],{"class":176},[170,5550,376],{"class":176},[170,5552,605],{"class":379},[170,5554,383],{"class":176},[170,5556,610],{"class":176},[170,5558,613],{"class":276},[170,5560,616],{"class":176},[170,5562,619],{"class":176},[170,5564,5565],{"class":172,"line":273},[170,5566,624],{"class":176},[170,5568,5569,5571,5573,5575,5577,5579,5581,5583,5585,5587,5589,5591,5593,5595,5597,5599,5601,5603],{"class":172,"line":289},[170,5570,629],{"class":198},[170,5572,332],{"class":176},[170,5574,675],{"class":586},[170,5576,637],{"class":176},[170,5578,383],{"class":176},[170,5580,682],{"class":379},[170,5582,383],{"class":176},[170,5584,647],{"class":176},[170,5586,376],{"class":176},[170,5588,691],{"class":379},[170,5590,383],{"class":176},[170,5592,647],{"class":176},[170,5594,698],{"class":198},[170,5596,332],{"class":176},[170,5598,277],{"class":194},[170,5600,1206],{"class":176},[170,5602,1058],{"class":586},[170,5604,1211],{"class":176},[170,5606,5607],{"class":172,"line":295},[170,5608,624],{"class":176},[170,5610,5611],{"class":172,"line":302},[170,5612,1045],{"class":176},[156,5614,5615,5616,4886,5618,5620,5621,5624],{},"This will introduce ",[167,5617,1225],{},[167,5619,1228],{}," endpoints. To learn how to permanently delete a resource via API (force delete), take a look at the related ",[445,5622,114],{"href":5623},"\u002Fguide\u002Fquery-parameters#soft-deletes"," section.",[160,5626,5627],{"className":1236,"code":1237,"language":1238,"meta":165,"style":165},[167,5628,5629,5633,5661,5665,5669,5703],{"__ignoreMap":165},[170,5630,5631],{"class":172,"line":173},[170,5632,1245],{"class":198},[170,5634,5635,5637,5639,5641,5643,5645,5647,5649,5651,5653,5655,5657,5659],{"class":172,"line":184},[170,5636,1250],{"class":176},[170,5638,1253],{"class":198},[170,5640,1256],{"class":176},[170,5642,1259],{"class":198},[170,5644,1262],{"class":176},[170,5646,1265],{"class":198},[170,5648,1268],{"class":176},[170,5650,1271],{"class":198},[170,5652,1274],{"class":176},[170,5654,1277],{"class":198},[170,5656,1280],{"class":176},[170,5658,1283],{"class":198},[170,5660,1286],{"class":176},[170,5662,5663],{"class":172,"line":191},[170,5664,1245],{"class":198},[170,5666,5667],{"class":172,"line":221},[170,5668,573],{"class":586},[170,5670,5671,5673,5675,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695,5697,5699,5701],{"class":172,"line":226},[170,5672,1250],{"class":176},[170,5674,1301],{"class":176},[170,5676,1304],{"class":198},[170,5678,1307],{"class":176},[170,5680,1310],{"class":198},[170,5682,1313],{"class":379},[170,5684,1316],{"class":198},[170,5686,1319],{"class":379},[170,5688,1322],{"class":198},[170,5690,1325],{"class":176},[170,5692,1328],{"class":198},[170,5694,1331],{"class":176},[170,5696,1334],{"class":198},[170,5698,1337],{"class":176},[170,5700,1340],{"class":198},[170,5702,1343],{"class":176},[170,5704,5705,5707,5709,5711,5713,5715,5717,5719,5721,5723,5725,5727,5729,5731],{"class":172,"line":245},[170,5706,1250],{"class":176},[170,5708,1301],{"class":176},[170,5710,1304],{"class":198},[170,5712,1307],{"class":176},[170,5714,1310],{"class":198},[170,5716,1313],{"class":379},[170,5718,1360],{"class":198},[170,5720,1363],{"class":176},[170,5722,1366],{"class":198},[170,5724,1369],{"class":176},[170,5726,1372],{"class":198},[170,5728,1375],{"class":176},[170,5730,1340],{"class":198},[170,5732,1343],{"class":176},[152,5734,5736],{"id":5735},"one-to-one","One to One",[156,5738,5739],{},"The following relationships are considered one-to-one relationships:",[464,5741,5742,5746,5750,5754,5762],{},[467,5743,5744],{},[167,5745,1393],{},[467,5747,5748],{},[167,5749,1398],{},[467,5751,5752],{},[167,5753,1403],{},[467,5755,5756,5758,5759,5761],{},[167,5757,1408],{}," (inverse of the ",[167,5760,1411],{}," relation)",[467,5763,5764,5758,5766,5761],{},[167,5765,1417],{},[167,5767,1420],{},[156,5769,5770,5771,4898,5773,4898,5775,4898,5777],{},"For one-to-one relationships, Orion provides 4 endpoints (basically endpoints for CRUD operations): ",[167,5772,1426],{},[167,5774,1429],{},[167,5776,1432],{},[167,5778,1435],{},[1437,5780,5781],{},[156,5782,4892,5783,4886,5785,5787,5788,5790],{},[167,5784,1408],{},[167,5786,1417],{}," relations are not provided with a ",[167,5789,1426],{}," endpoint.",[156,5792,5793],{},[1453,5794,5795],{},"Example route registration",[160,5797,5798],{"className":162,"code":1458,"language":164,"meta":165,"style":165},[167,5799,5800],{"__ignoreMap":165},[170,5801,5802,5804,5806,5808,5810,5812,5814,5816,5818,5820,5822,5824,5826,5828,5830,5832],{"class":172,"line":173},[170,5803,545],{"class":198},[170,5805,332],{"class":176},[170,5807,634],{"class":586},[170,5809,637],{"class":176},[170,5811,383],{"class":176},[170,5813,642],{"class":379},[170,5815,383],{"class":176},[170,5817,647],{"class":176},[170,5819,376],{"class":176},[170,5821,652],{"class":379},[170,5823,383],{"class":176},[170,5825,1487],{"class":176},[170,5827,659],{"class":198},[170,5829,332],{"class":176},[170,5831,277],{"class":194},[170,5833,666],{"class":176},[156,5835,5836],{},[1453,5837,5838],{},"Example available endpoints",[160,5840,5841],{"className":1236,"code":1503,"language":1238,"meta":165,"style":165},[167,5842,5843,5847,5867,5871,5895,5925,5955],{"__ignoreMap":165},[170,5844,5845],{"class":172,"line":173},[170,5846,1510],{"class":198},[170,5848,5849,5851,5853,5855,5857,5859,5861,5863,5865],{"class":172,"line":184},[170,5850,1250],{"class":176},[170,5852,1259],{"class":198},[170,5854,1262],{"class":176},[170,5856,1265],{"class":198},[170,5858,1268],{"class":176},[170,5860,1271],{"class":198},[170,5862,1527],{"class":176},[170,5864,1277],{"class":198},[170,5866,1532],{"class":176},[170,5868,5869],{"class":172,"line":191},[170,5870,1510],{"class":198},[170,5872,5873,5875,5877,5879,5881,5883,5885,5887,5889,5891,5893],{"class":172,"line":221},[170,5874,1250],{"class":176},[170,5876,1304],{"class":198},[170,5878,1307],{"class":176},[170,5880,1547],{"class":198},[170,5882,1550],{"class":379},[170,5884,1553],{"class":198},[170,5886,1556],{"class":176},[170,5888,1559],{"class":198},[170,5890,1301],{"class":176},[170,5892,1564],{"class":198},[170,5894,1567],{"class":176},[170,5896,5897,5899,5901,5903,5905,5907,5909,5911,5913,5915,5917,5919,5921,5923],{"class":172,"line":226},[170,5898,1250],{"class":176},[170,5900,1574],{"class":198},[170,5902,1250],{"class":176},[170,5904,1579],{"class":198},[170,5906,1369],{"class":176},[170,5908,1547],{"class":198},[170,5910,1550],{"class":379},[170,5912,1588],{"class":198},[170,5914,1591],{"class":379},[170,5916,1325],{"class":176},[170,5918,1596],{"class":198},[170,5920,1599],{"class":176},[170,5922,1602],{"class":198},[170,5924,1605],{"class":176},[170,5926,5927,5929,5931,5933,5935,5937,5939,5941,5943,5945,5947,5949,5951,5953],{"class":172,"line":245},[170,5928,1250],{"class":176},[170,5930,1612],{"class":198},[170,5932,1250],{"class":176},[170,5934,1617],{"class":198},[170,5936,1256],{"class":176},[170,5938,1547],{"class":198},[170,5940,1550],{"class":379},[170,5942,1588],{"class":198},[170,5944,1591],{"class":379},[170,5946,1325],{"class":176},[170,5948,1632],{"class":198},[170,5950,1331],{"class":176},[170,5952,1637],{"class":198},[170,5954,1640],{"class":176},[170,5956,5957,5959,5961,5963,5965,5967,5969,5971,5973,5975,5977,5979],{"class":172,"line":268},[170,5958,1250],{"class":176},[170,5960,1647],{"class":198},[170,5962,1262],{"class":176},[170,5964,1547],{"class":198},[170,5966,1550],{"class":379},[170,5968,1588],{"class":198},[170,5970,1591],{"class":379},[170,5972,1325],{"class":176},[170,5974,1662],{"class":198},[170,5976,1307],{"class":176},[170,5978,1667],{"class":198},[170,5980,1670],{"class":176},[457,5982,5983,5986],{"icon":459},[156,5984,5985],{},"Notice that the last parameter is marked as optional. Because it's a one-to-one relation, you can access the endpoint without providing the related key - Orion will take care of it 🙂",[156,5987,5988,5990,5992,4898,5994,4898,5996,4898,5998,6000,6001,6003],{},[1679,5989],{},[1679,5991],{},[167,5993,1393],{},[167,5995,1398],{},[167,5997,1403],{},[167,5999,1408],{},", and ",[167,6002,1417],{}," relations do not require the related resource key.",[152,6005,6007],{"id":6006},"one-to-many","One to Many",[156,6009,6010],{},"The following relationships are considered one-to-many relationships:",[464,6012,6013,6017,6021],{},[467,6014,6015],{},[167,6016,1411],{},[467,6018,6019],{},[167,6020,1711],{},[467,6022,6023],{},[167,6024,1420],{},[156,6026,6027,6028,4898,6030,4898,6032,4898,6034,4898,6036,4898,6038,4898,6040,4898,6042,4898,6044,4898,6046,4898,6048],{},"For one-to-many relationships, Orion provides 11 endpoints (endpoints for CRUD operations, searching, associating, and dissociating): ",[167,6029,1721],{},[167,6031,1724],{},[167,6033,1426],{},[167,6035,1429],{},[167,6037,1432],{},[167,6039,1435],{},[167,6041,1735],{},[167,6043,1738],{},[167,6045,1741],{},[167,6047,1744],{},[167,6049,1747],{},[156,6051,6052],{},[1453,6053,5795],{},[160,6055,6056],{"className":162,"code":1754,"language":164,"meta":165,"style":165},[167,6057,6058],{"__ignoreMap":165},[170,6059,6060,6062,6064,6066,6068,6070,6072,6074,6076,6078,6080,6082,6084,6086,6088,6090],{"class":172,"line":173},[170,6061,545],{"class":198},[170,6063,332],{"class":176},[170,6065,675],{"class":586},[170,6067,637],{"class":176},[170,6069,383],{"class":176},[170,6071,682],{"class":379},[170,6073,383],{"class":176},[170,6075,647],{"class":176},[170,6077,376],{"class":176},[170,6079,691],{"class":379},[170,6081,383],{"class":176},[170,6083,1487],{"class":176},[170,6085,698],{"class":198},[170,6087,332],{"class":176},[170,6089,277],{"class":194},[170,6091,666],{"class":176},[156,6093,6094],{},[1453,6095,5838],{},[160,6097,6098],{"className":1236,"code":1797,"language":1238,"meta":165,"style":165},[167,6099,6100,6104,6124,6128,6156,6180,6204,6234,6260,6286,6312,6336,6364,6388,6412],{"__ignoreMap":165},[170,6101,6102],{"class":172,"line":173},[170,6103,1804],{"class":198},[170,6105,6106,6108,6110,6112,6114,6116,6118,6120,6122],{"class":172,"line":184},[170,6107,1250],{"class":176},[170,6109,1259],{"class":198},[170,6111,1262],{"class":176},[170,6113,1265],{"class":198},[170,6115,1268],{"class":176},[170,6117,1271],{"class":198},[170,6119,1274],{"class":176},[170,6121,1277],{"class":198},[170,6123,1532],{"class":176},[170,6125,6126],{"class":172,"line":191},[170,6127,1804],{"class":198},[170,6129,6130,6132,6134,6136,6138,6140,6142,6144,6146,6148,6150,6152,6154],{"class":172,"line":221},[170,6131,1250],{"class":176},[170,6133,1574],{"class":198},[170,6135,1250],{"class":176},[170,6137,1579],{"class":198},[170,6139,1369],{"class":176},[170,6141,1310],{"class":198},[170,6143,1313],{"class":379},[170,6145,1847],{"class":198},[170,6147,1850],{"class":176},[170,6149,1853],{"class":198},[170,6151,1599],{"class":176},[170,6153,1858],{"class":198},[170,6155,1861],{"class":176},[170,6157,6158,6160,6162,6164,6166,6168,6170,6172,6174,6176,6178],{"class":172,"line":226},[170,6159,1250],{"class":176},[170,6161,1304],{"class":198},[170,6163,1307],{"class":176},[170,6165,1310],{"class":198},[170,6167,1313],{"class":379},[170,6169,1876],{"class":198},[170,6171,1879],{"class":176},[170,6173,1882],{"class":198},[170,6175,1301],{"class":176},[170,6177,1858],{"class":198},[170,6179,1861],{"class":176},[170,6181,6182,6184,6186,6188,6190,6192,6194,6196,6198,6200,6202],{"class":172,"line":245},[170,6183,1250],{"class":176},[170,6185,1304],{"class":198},[170,6187,1307],{"class":176},[170,6189,1310],{"class":198},[170,6191,1313],{"class":379},[170,6193,1847],{"class":198},[170,6195,1850],{"class":176},[170,6197,1907],{"class":198},[170,6199,1599],{"class":176},[170,6201,1912],{"class":198},[170,6203,1861],{"class":176},[170,6205,6206,6208,6210,6212,6214,6216,6218,6220,6222,6224,6226,6228,6230,6232],{"class":172,"line":268},[170,6207,1250],{"class":176},[170,6209,1574],{"class":198},[170,6211,1250],{"class":176},[170,6213,1579],{"class":198},[170,6215,1369],{"class":176},[170,6217,1310],{"class":198},[170,6219,1313],{"class":379},[170,6221,1316],{"class":198},[170,6223,1319],{"class":379},[170,6225,1879],{"class":176},[170,6227,1939],{"class":198},[170,6229,1942],{"class":176},[170,6231,1945],{"class":198},[170,6233,1948],{"class":176},[170,6235,6236,6238,6240,6242,6244,6246,6248,6250,6252,6254,6256,6258],{"class":172,"line":273},[170,6237,1250],{"class":176},[170,6239,1612],{"class":198},[170,6241,1957],{"class":176},[170,6243,1310],{"class":198},[170,6245,1313],{"class":379},[170,6247,1316],{"class":198},[170,6249,1319],{"class":379},[170,6251,1879],{"class":176},[170,6253,1970],{"class":198},[170,6255,1301],{"class":176},[170,6257,1975],{"class":198},[170,6259,1978],{"class":176},[170,6261,6262,6264,6266,6268,6270,6272,6274,6276,6278,6280,6282,6284],{"class":172,"line":289},[170,6263,1250],{"class":176},[170,6265,1985],{"class":198},[170,6267,1331],{"class":176},[170,6269,1310],{"class":198},[170,6271,1313],{"class":379},[170,6273,1316],{"class":198},[170,6275,1319],{"class":379},[170,6277,1879],{"class":176},[170,6279,1970],{"class":198},[170,6281,1301],{"class":176},[170,6283,1975],{"class":198},[170,6285,1978],{"class":176},[170,6287,6288,6290,6292,6294,6296,6298,6300,6302,6304,6306,6308,6310],{"class":172,"line":295},[170,6289,1250],{"class":176},[170,6291,1647],{"class":198},[170,6293,1262],{"class":176},[170,6295,1310],{"class":198},[170,6297,1313],{"class":379},[170,6299,1316],{"class":198},[170,6301,1319],{"class":379},[170,6303,1879],{"class":176},[170,6305,2026],{"class":198},[170,6307,1331],{"class":176},[170,6309,2031],{"class":198},[170,6311,1605],{"class":176},[170,6313,6314,6316,6318,6320,6322,6324,6326,6328,6330,6332,6334],{"class":172,"line":302},[170,6315,1250],{"class":176},[170,6317,1304],{"class":198},[170,6319,1307],{"class":176},[170,6321,1310],{"class":198},[170,6323,1313],{"class":379},[170,6325,2048],{"class":198},[170,6327,2051],{"class":176},[170,6329,2054],{"class":198},[170,6331,1957],{"class":176},[170,6333,2059],{"class":198},[170,6335,1640],{"class":176},[170,6337,6338,6340,6342,6344,6346,6348,6350,6352,6354,6356,6358,6360,6362],{"class":172,"line":308},[170,6339,1250],{"class":176},[170,6341,1647],{"class":198},[170,6343,1262],{"class":176},[170,6345,1310],{"class":198},[170,6347,1313],{"class":379},[170,6349,1316],{"class":198},[170,6351,1319],{"class":379},[170,6353,2080],{"class":198},[170,6355,1301],{"class":176},[170,6357,2085],{"class":198},[170,6359,1262],{"class":176},[170,6361,2090],{"class":198},[170,6363,1670],{"class":176},[170,6365,6366,6368,6370,6372,6374,6376,6378,6380,6382,6384,6386],{"class":172,"line":314},[170,6367,1250],{"class":176},[170,6369,1304],{"class":198},[170,6371,1307],{"class":176},[170,6373,1310],{"class":198},[170,6375,1313],{"class":379},[170,6377,2107],{"class":198},[170,6379,1556],{"class":176},[170,6381,2112],{"class":198},[170,6383,1262],{"class":176},[170,6385,2117],{"class":198},[170,6387,1670],{"class":176},[170,6389,6390,6392,6394,6396,6398,6400,6402,6404,6406,6408,6410],{"class":172,"line":343},[170,6391,1250],{"class":176},[170,6393,1612],{"class":198},[170,6395,1957],{"class":176},[170,6397,1310],{"class":198},[170,6399,1313],{"class":379},[170,6401,2107],{"class":198},[170,6403,1556],{"class":176},[170,6405,2138],{"class":198},[170,6407,2141],{"class":176},[170,6409,2144],{"class":198},[170,6411,2147],{"class":176},[170,6413,6414,6416,6418,6420,6422,6424,6426,6428,6430,6432,6434],{"class":172,"line":348},[170,6415,1250],{"class":176},[170,6417,1647],{"class":198},[170,6419,1262],{"class":176},[170,6421,1310],{"class":198},[170,6423,1313],{"class":379},[170,6425,2107],{"class":198},[170,6427,1556],{"class":176},[170,6429,2166],{"class":198},[170,6431,1369],{"class":176},[170,6433,2171],{"class":198},[170,6435,2174],{"class":176},[396,6437,6439],{"id":6438},"associating","Associating",[156,6441,6442,6443,6445],{},"One-to-many relation resource provides an ",[167,6444,1735],{}," endpoint to associate a relation model with a parent model.",[156,6447,6448,6449,6451,6452,6454],{},"Request payload to the endpoint has only one field - ",[167,6450,2190],{},". In our example, ",[167,6453,2190],{}," would be the ID of a post to be associated with a user.",[156,6456,6457],{},[1453,6458,6459],{},"Example request:",[160,6461,6462],{"className":2202,"code":2203,"language":2204,"meta":165,"style":165},[167,6463,6464,6468,6472,6484],{"__ignoreMap":165},[170,6465,6466],{"class":172,"line":173},[170,6467,2211],{"class":298},[170,6469,6470],{"class":172,"line":184},[170,6471,292],{"class":176},[170,6473,6474,6476,6478,6480,6482],{"class":172,"line":191},[170,6475,2220],{"class":176},[170,6477,2190],{"class":276},[170,6479,2225],{"class":176},[170,6481,2228],{"class":176},[170,6483,2231],{"class":194},[170,6485,6486],{"class":172,"line":221},[170,6487,391],{"class":176},[396,6489,6491],{"id":6490},"dissociating","Dissociating",[156,6493,6494,6495,6497],{},"One-to-many relation resource also provides a ",[167,6496,1738],{}," endpoint to dissociate a relation model from its parent model.",[156,6499,6500,6501,6503],{},"There is no payload in the request for this endpoint; however, notice the ",[167,6502,1319],{}," route parameter in the example routes above - this would be the ID of a post to be dissociated from a user.",[152,6505,6507],{"id":6506},"many-to-many","Many to Many",[156,6509,6510],{},"The following relationships are considered many-to-many relationships:",[464,6512,6513,6517],{},[467,6514,6515],{},[167,6516,404],{},[467,6518,6519],{},[167,6520,408],{},[156,6522,6523,6524,4898,6526,4898,6528,4898,6530,4898,6532,4898,6534,4898,6536,4898,6538,4898,6540,4898,6542,4898,6544,4898,6546,4898,6548,4898,6550],{},"For many-to-many relationships, Orion provides 14 endpoints (endpoints for CRUD operations, searching, attaching, detaching, syncing, toggling, and updating pivot): ",[167,6525,1721],{},[167,6527,1724],{},[167,6529,1426],{},[167,6531,1429],{},[167,6533,1432],{},[167,6535,1435],{},[167,6537,426],{},[167,6539,2287],{},[167,6541,430],{},[167,6543,433],{},[167,6545,2294],{},[167,6547,1741],{},[167,6549,1744],{},[167,6551,1747],{},[156,6553,6554],{},[1453,6555,5795],{},[160,6557,6558],{"className":162,"code":2307,"language":164,"meta":165,"style":165},[167,6559,6560],{"__ignoreMap":165},[170,6561,6562,6564,6566,6568,6570,6572,6574,6576,6578,6580,6582,6584,6586,6588,6590,6592],{"class":172,"line":173},[170,6563,545],{"class":198},[170,6565,332],{"class":176},[170,6567,750],{"class":586},[170,6569,637],{"class":176},[170,6571,383],{"class":176},[170,6573,682],{"class":379},[170,6575,383],{"class":176},[170,6577,647],{"class":176},[170,6579,376],{"class":176},[170,6581,765],{"class":379},[170,6583,383],{"class":176},[170,6585,1487],{"class":176},[170,6587,772],{"class":198},[170,6589,332],{"class":176},[170,6591,277],{"class":194},[170,6593,666],{"class":176},[156,6595,6596],{},[1453,6597,5838],{},[160,6599,6600],{"className":1236,"code":2350,"language":1238,"meta":165,"style":165},[167,6601,6602,6606,6626,6630,6658,6682,6706,6736,6762,6788,6814,6838,6862,6886,6910,6938,6962,6986],{"__ignoreMap":165},[170,6603,6604],{"class":172,"line":173},[170,6605,1804],{"class":198},[170,6607,6608,6610,6612,6614,6616,6618,6620,6622,6624],{"class":172,"line":184},[170,6609,1250],{"class":176},[170,6611,1259],{"class":198},[170,6613,1262],{"class":176},[170,6615,1265],{"class":198},[170,6617,1268],{"class":176},[170,6619,1271],{"class":198},[170,6621,1274],{"class":176},[170,6623,1277],{"class":198},[170,6625,1532],{"class":176},[170,6627,6628],{"class":172,"line":191},[170,6629,1804],{"class":198},[170,6631,6632,6634,6636,6638,6640,6642,6644,6646,6648,6650,6652,6654,6656],{"class":172,"line":221},[170,6633,1250],{"class":176},[170,6635,1574],{"class":198},[170,6637,1250],{"class":176},[170,6639,1579],{"class":198},[170,6641,1369],{"class":176},[170,6643,1310],{"class":198},[170,6645,1313],{"class":379},[170,6647,2399],{"class":198},[170,6649,1850],{"class":176},[170,6651,2404],{"class":198},[170,6653,1599],{"class":176},[170,6655,2409],{"class":198},[170,6657,1861],{"class":176},[170,6659,6660,6662,6664,6666,6668,6670,6672,6674,6676,6678,6680],{"class":172,"line":226},[170,6661,1250],{"class":176},[170,6663,1304],{"class":198},[170,6665,1307],{"class":176},[170,6667,1310],{"class":198},[170,6669,1313],{"class":379},[170,6671,2426],{"class":198},[170,6673,1879],{"class":176},[170,6675,2431],{"class":198},[170,6677,1301],{"class":176},[170,6679,2409],{"class":198},[170,6681,1861],{"class":176},[170,6683,6684,6686,6688,6690,6692,6694,6696,6698,6700,6702,6704],{"class":172,"line":245},[170,6685,1250],{"class":176},[170,6687,1304],{"class":198},[170,6689,1307],{"class":176},[170,6691,1310],{"class":198},[170,6693,1313],{"class":379},[170,6695,2399],{"class":198},[170,6697,1850],{"class":176},[170,6699,2456],{"class":198},[170,6701,1599],{"class":176},[170,6703,2461],{"class":198},[170,6705,1861],{"class":176},[170,6707,6708,6710,6712,6714,6716,6718,6720,6722,6724,6726,6728,6730,6732,6734],{"class":172,"line":268},[170,6709,1250],{"class":176},[170,6711,1574],{"class":198},[170,6713,1250],{"class":176},[170,6715,1579],{"class":198},[170,6717,1369],{"class":176},[170,6719,1310],{"class":198},[170,6721,1313],{"class":379},[170,6723,2482],{"class":198},[170,6725,2485],{"class":379},[170,6727,1879],{"class":176},[170,6729,2490],{"class":198},[170,6731,1942],{"class":176},[170,6733,2495],{"class":198},[170,6735,1948],{"class":176},[170,6737,6738,6740,6742,6744,6746,6748,6750,6752,6754,6756,6758,6760],{"class":172,"line":273},[170,6739,1250],{"class":176},[170,6741,1612],{"class":198},[170,6743,1957],{"class":176},[170,6745,1310],{"class":198},[170,6747,1313],{"class":379},[170,6749,2482],{"class":198},[170,6751,2485],{"class":379},[170,6753,1879],{"class":176},[170,6755,2518],{"class":198},[170,6757,1301],{"class":176},[170,6759,2523],{"class":198},[170,6761,1978],{"class":176},[170,6763,6764,6766,6768,6770,6772,6774,6776,6778,6780,6782,6784,6786],{"class":172,"line":289},[170,6765,1250],{"class":176},[170,6767,1985],{"class":198},[170,6769,1331],{"class":176},[170,6771,1310],{"class":198},[170,6773,1313],{"class":379},[170,6775,2482],{"class":198},[170,6777,2485],{"class":379},[170,6779,1879],{"class":176},[170,6781,2518],{"class":198},[170,6783,1301],{"class":176},[170,6785,2523],{"class":198},[170,6787,1978],{"class":176},[170,6789,6790,6792,6794,6796,6798,6800,6802,6804,6806,6808,6810,6812],{"class":172,"line":295},[170,6791,1250],{"class":176},[170,6793,1647],{"class":198},[170,6795,1262],{"class":176},[170,6797,1310],{"class":198},[170,6799,1313],{"class":379},[170,6801,2482],{"class":198},[170,6803,2485],{"class":379},[170,6805,1879],{"class":176},[170,6807,2572],{"class":198},[170,6809,1331],{"class":176},[170,6811,2577],{"class":198},[170,6813,1605],{"class":176},[170,6815,6816,6818,6820,6822,6824,6826,6828,6830,6832,6834,6836],{"class":172,"line":302},[170,6817,1250],{"class":176},[170,6819,1304],{"class":198},[170,6821,1307],{"class":176},[170,6823,1310],{"class":198},[170,6825,1313],{"class":379},[170,6827,2594],{"class":198},[170,6829,1879],{"class":176},[170,6831,2599],{"class":198},[170,6833,1301],{"class":176},[170,6835,2604],{"class":198},[170,6837,1978],{"class":176},[170,6839,6840,6842,6844,6846,6848,6850,6852,6854,6856,6858,6860],{"class":172,"line":308},[170,6841,1250],{"class":176},[170,6843,1647],{"class":198},[170,6845,1262],{"class":176},[170,6847,1310],{"class":198},[170,6849,1313],{"class":379},[170,6851,2621],{"class":198},[170,6853,1879],{"class":176},[170,6855,2626],{"class":198},[170,6857,1301],{"class":176},[170,6859,2631],{"class":198},[170,6861,1978],{"class":176},[170,6863,6864,6866,6868,6870,6872,6874,6876,6878,6880,6882,6884],{"class":172,"line":314},[170,6865,1250],{"class":176},[170,6867,1612],{"class":198},[170,6869,1957],{"class":176},[170,6871,1310],{"class":198},[170,6873,1313],{"class":379},[170,6875,2648],{"class":198},[170,6877,2651],{"class":176},[170,6879,2654],{"class":198},[170,6881,1942],{"class":176},[170,6883,2659],{"class":198},[170,6885,1948],{"class":176},[170,6887,6888,6890,6892,6894,6896,6898,6900,6902,6904,6906,6908],{"class":172,"line":343},[170,6889,1250],{"class":176},[170,6891,1612],{"class":198},[170,6893,1957],{"class":176},[170,6895,1310],{"class":198},[170,6897,1313],{"class":379},[170,6899,2676],{"class":198},[170,6901,1879],{"class":176},[170,6903,2681],{"class":198},[170,6905,1301],{"class":176},[170,6907,2686],{"class":198},[170,6909,1978],{"class":176},[170,6911,6912,6914,6916,6918,6920,6922,6924,6926,6928,6930,6932,6934,6936],{"class":172,"line":348},[170,6913,1250],{"class":176},[170,6915,1612],{"class":198},[170,6917,1957],{"class":176},[170,6919,1310],{"class":198},[170,6921,1313],{"class":379},[170,6923,2482],{"class":198},[170,6925,2485],{"class":379},[170,6927,2707],{"class":198},[170,6929,2710],{"class":176},[170,6931,2713],{"class":198},[170,6933,1599],{"class":176},[170,6935,2718],{"class":198},[170,6937,2147],{"class":176},[170,6939,6940,6942,6944,6946,6948,6950,6952,6954,6956,6958,6960],{"class":172,"line":353},[170,6941,1250],{"class":176},[170,6943,1304],{"class":198},[170,6945,1307],{"class":176},[170,6947,1310],{"class":198},[170,6949,1313],{"class":379},[170,6951,2735],{"class":198},[170,6953,1556],{"class":176},[170,6955,2740],{"class":198},[170,6957,1262],{"class":176},[170,6959,2745],{"class":198},[170,6961,1670],{"class":176},[170,6963,6964,6966,6968,6970,6972,6974,6976,6978,6980,6982,6984],{"class":172,"line":359},[170,6965,1250],{"class":176},[170,6967,1612],{"class":198},[170,6969,1957],{"class":176},[170,6971,1310],{"class":198},[170,6973,1313],{"class":379},[170,6975,2735],{"class":198},[170,6977,1556],{"class":176},[170,6979,2766],{"class":198},[170,6981,2141],{"class":176},[170,6983,2771],{"class":198},[170,6985,2147],{"class":176},[170,6987,6988,6990,6992,6994,6996,6998,7000,7002,7004,7006,7008],{"class":172,"line":364},[170,6989,1250],{"class":176},[170,6991,1647],{"class":198},[170,6993,1262],{"class":176},[170,6995,1310],{"class":198},[170,6997,1313],{"class":379},[170,6999,2735],{"class":198},[170,7001,1556],{"class":176},[170,7003,2792],{"class":198},[170,7005,1369],{"class":176},[170,7007,2797],{"class":198},[170,7009,2174],{"class":176},[1437,7011,7012],{},[156,7013,7014,7015,7019,7020,4898,7022,4898,7024,4886,7026,7028],{},"Do not forget to define fillable pivot fields as described in ",[445,7016,7018],{"href":7017},"\u002Fguide\u002Frelationships#setting-up-controller","Fillable pivot fields and casting"," section, if you have additional fields on pivot table, otherwise ",[167,7021,426],{},[167,7023,430],{},[167,7025,433],{},[167,7027,436],{}," endpoints may not work as expected for these fields.",[396,7030,7032],{"id":7031},"attaching","Attaching",[156,7034,7035,7036,7038,7039,7042],{},"Many-to-many relation resource provides an ",[167,7037,426],{}," endpoint to attach one or multiple related models to another model. For details on how attaching\u002Fdetaching of related models works in Laravel, take a look at ",[445,7040,2831],{"href":2829,"rel":7041},[449]," section in Laravel Documentation.",[156,7044,7045,7046,7048,7049,7051,7052,7054],{},"The request payload consists of required ",[167,7047,2838],{}," and optional ",[167,7050,2842],{}," fields. Note that the ",[167,7053,2842],{}," field can also be provided as a query parameter.",[156,7056,4892,7057,7059],{},[167,7058,2838],{}," field might be an array or an object. If it is an array, then array items would be IDs of related models that you would like to attach. If it is an object, then its keys would be IDs of related models and values - objects containing pivot table fields to be set upon attaching the related model.",[156,7061,7062,7063,7065,7066,7068,7069,7071],{},"By default, the ",[167,7064,2842],{}," parameter is ",[167,7067,2860],{},". If set to ",[167,7070,2864],{},", attaching the same related model multiple times would result in duplicated entries in the pivot table.",[156,7073,7074],{},[1453,7075,7076],{},"Example request (array version):",[160,7078,7079],{"className":2202,"code":2873,"language":2204,"meta":165,"style":165},[167,7080,7081,7085,7089,7113],{"__ignoreMap":165},[170,7082,7083],{"class":172,"line":173},[170,7084,2880],{"class":298},[170,7086,7087],{"class":172,"line":184},[170,7088,292],{"class":176},[170,7090,7091,7093,7095,7097,7099,7101,7103,7105,7107,7109,7111],{"class":172,"line":191},[170,7092,2220],{"class":176},[170,7094,2838],{"class":276},[170,7096,2225],{"class":176},[170,7098,2228],{"class":176},[170,7100,2897],{"class":176},[170,7102,2900],{"class":194},[170,7104,647],{"class":176},[170,7106,2905],{"class":194},[170,7108,647],{"class":176},[170,7110,2910],{"class":194},[170,7112,2913],{"class":176},[170,7114,7115],{"class":172,"line":221},[170,7116,391],{"class":176},[156,7118,7119],{},[1453,7120,7121],{},"Example request (object version):",[160,7123,7124],{"className":2202,"code":2925,"language":2204,"meta":165,"style":165},[167,7125,7126,7130,7134,7146,7158,7176,7180,7184,7196,7214,7218,7222,7234,7252,7256,7260,7264],{"__ignoreMap":165},[170,7127,7128],{"class":172,"line":173},[170,7129,2880],{"class":298},[170,7131,7132],{"class":172,"line":184},[170,7133,292],{"class":176},[170,7135,7136,7138,7140,7142,7144],{"class":172,"line":191},[170,7137,2220],{"class":176},[170,7139,2838],{"class":276},[170,7141,2225],{"class":176},[170,7143,2228],{"class":176},[170,7145,619],{"class":176},[170,7147,7148,7150,7152,7154,7156],{"class":172,"line":221},[170,7149,2952],{"class":176},[170,7151,2900],{"class":198},[170,7153,2225],{"class":176},[170,7155,2228],{"class":176},[170,7157,619],{"class":176},[170,7159,7160,7162,7164,7166,7168,7170,7172,7174],{"class":172,"line":226},[170,7161,2965],{"class":176},[170,7163,2968],{"class":194},[170,7165,2225],{"class":176},[170,7167,2228],{"class":176},[170,7169,2975],{"class":176},[170,7171,2978],{"class":379},[170,7173,2225],{"class":176},[170,7175,2983],{"class":176},[170,7177,7178],{"class":172,"line":245},[170,7179,2988],{"class":180},[170,7181,7182],{"class":172,"line":268},[170,7183,2993],{"class":176},[170,7185,7186,7188,7190,7192,7194],{"class":172,"line":273},[170,7187,2952],{"class":176},[170,7189,2905],{"class":198},[170,7191,2225],{"class":176},[170,7193,2228],{"class":176},[170,7195,619],{"class":176},[170,7197,7198,7200,7202,7204,7206,7208,7210,7212],{"class":172,"line":289},[170,7199,2965],{"class":176},[170,7201,2968],{"class":194},[170,7203,2225],{"class":176},[170,7205,2228],{"class":176},[170,7207,2975],{"class":176},[170,7209,3020],{"class":379},[170,7211,2225],{"class":176},[170,7213,2983],{"class":176},[170,7215,7216],{"class":172,"line":295},[170,7217,2988],{"class":180},[170,7219,7220],{"class":172,"line":302},[170,7221,2993],{"class":176},[170,7223,7224,7226,7228,7230,7232],{"class":172,"line":308},[170,7225,2952],{"class":176},[170,7227,2910],{"class":198},[170,7229,2225],{"class":176},[170,7231,2228],{"class":176},[170,7233,619],{"class":176},[170,7235,7236,7238,7240,7242,7244,7246,7248,7250],{"class":172,"line":314},[170,7237,2965],{"class":176},[170,7239,2968],{"class":194},[170,7241,2225],{"class":176},[170,7243,2228],{"class":176},[170,7245,2975],{"class":176},[170,7247,3059],{"class":379},[170,7249,2225],{"class":176},[170,7251,2983],{"class":176},[170,7253,7254],{"class":172,"line":343},[170,7255,2988],{"class":180},[170,7257,7258],{"class":172,"line":348},[170,7259,3072],{"class":176},[170,7261,7262],{"class":172,"line":353},[170,7263,3077],{"class":176},[170,7265,7266],{"class":172,"line":359},[170,7267,391],{"class":176},[396,7269,7270],{"id":3283},"Detaching",[156,7272,7273,7274,7276],{},"Many-to-many relation resource provides ",[167,7275,2287],{}," endpoint to detach one or multiple related models from the model they are attached to.",[156,7278,7279,7280,4889],{},"The request payload consists of only one field ",[167,7281,2838],{},[156,7283,7284,7285,7287,7288,7290,7291,7293,7294,4880,7296,7298],{},"Similar to the ",[167,7286,426],{}," endpoint, the ",[167,7289,2838],{}," field might be an array or an object. Supporting object representation of the ",[167,7292,2838],{}," field in this method makes it easier for the frontend to attach\u002Fdetach related resources in a standardized way. You can also optionally store additional data in these objects that can be used in ",[167,7295,3109],{},[167,7297,3113],{}," hooks.",[156,7300,7301],{},[1453,7302,7076],{},[160,7304,7305],{"className":2202,"code":3121,"language":2204,"meta":165,"style":165},[167,7306,7307,7311,7315,7339],{"__ignoreMap":165},[170,7308,7309],{"class":172,"line":173},[170,7310,3128],{"class":298},[170,7312,7313],{"class":172,"line":184},[170,7314,292],{"class":176},[170,7316,7317,7319,7321,7323,7325,7327,7329,7331,7333,7335,7337],{"class":172,"line":191},[170,7318,2220],{"class":176},[170,7320,2838],{"class":276},[170,7322,2225],{"class":176},[170,7324,2228],{"class":176},[170,7326,2897],{"class":176},[170,7328,2900],{"class":194},[170,7330,647],{"class":176},[170,7332,2905],{"class":194},[170,7334,647],{"class":176},[170,7336,2910],{"class":194},[170,7338,2913],{"class":176},[170,7340,7341],{"class":172,"line":221},[170,7342,391],{"class":176},[156,7344,7345],{},[1453,7346,7121],{},[160,7348,7349],{"className":2202,"code":3167,"language":2204,"meta":165,"style":165},[167,7350,7351,7355,7359,7371,7383,7395,7413,7417,7421,7433,7437],{"__ignoreMap":165},[170,7352,7353],{"class":172,"line":173},[170,7354,3128],{"class":298},[170,7356,7357],{"class":172,"line":184},[170,7358,292],{"class":176},[170,7360,7361,7363,7365,7367,7369],{"class":172,"line":191},[170,7362,2220],{"class":176},[170,7364,2838],{"class":276},[170,7366,2225],{"class":176},[170,7368,2228],{"class":176},[170,7370,619],{"class":176},[170,7372,7373,7375,7377,7379,7381],{"class":172,"line":221},[170,7374,2952],{"class":176},[170,7376,2900],{"class":198},[170,7378,2225],{"class":176},[170,7380,2228],{"class":176},[170,7382,3202],{"class":176},[170,7384,7385,7387,7389,7391,7393],{"class":172,"line":226},[170,7386,2952],{"class":176},[170,7388,2905],{"class":198},[170,7390,2225],{"class":176},[170,7392,2228],{"class":176},[170,7394,619],{"class":176},[170,7396,7397,7399,7401,7403,7405,7407,7409,7411],{"class":172,"line":245},[170,7398,2965],{"class":176},[170,7400,3221],{"class":194},[170,7402,2225],{"class":176},[170,7404,2228],{"class":176},[170,7406,2975],{"class":176},[170,7408,3230],{"class":379},[170,7410,2225],{"class":176},[170,7412,2983],{"class":176},[170,7414,7415],{"class":172,"line":268},[170,7416,2988],{"class":180},[170,7418,7419],{"class":172,"line":273},[170,7420,2993],{"class":176},[170,7422,7423,7425,7427,7429,7431],{"class":172,"line":289},[170,7424,2952],{"class":176},[170,7426,2910],{"class":198},[170,7428,2225],{"class":176},[170,7430,2228],{"class":176},[170,7432,3202],{"class":176},[170,7434,7435],{"class":172,"line":295},[170,7436,3077],{"class":176},[170,7438,7439],{"class":172,"line":302},[170,7440,391],{"class":176},[396,7442,7444],{"id":7443},"syncing","Syncing",[156,7446,7447,7448,7450,7451,7042],{},"Many-to-many relation resource provides a ",[167,7449,430],{}," endpoint to sync associations of one or multiple related models with another model. For details on how syncing of related models works in Laravel, take a look at ",[445,7452,3276],{"href":2829,"rel":7453},[449],[156,7455,7045,7456,7048,7458,7051,7460,7054],{},[167,7457,2838],{},[167,7459,3283],{},[167,7461,3283],{},[156,7463,4892,7464,7466],{},[167,7465,2838],{}," field might be an array or an object. If it is an array, then array items would be IDs of related models that you would like to sync. If it is an object, then its keys would be IDs of related models and values - objects containing pivot table fields to be set upon syncing the related model.",[156,7468,7062,7469,7065,7471,7068,7473,7475],{},[167,7470,3283],{},[167,7472,2864],{},[167,7474,2860],{},", related models that are missing in the payload but present in the pivot table won't be detached.",[156,7477,7478],{},[1453,7479,7076],{},[160,7481,7482],{"className":2202,"code":3306,"language":2204,"meta":165,"style":165},[167,7483,7484,7488,7492,7512],{"__ignoreMap":165},[170,7485,7486],{"class":172,"line":173},[170,7487,3313],{"class":298},[170,7489,7490],{"class":172,"line":184},[170,7491,292],{"class":176},[170,7493,7494,7496,7498,7500,7502,7504,7506,7508,7510],{"class":172,"line":191},[170,7495,2220],{"class":176},[170,7497,2838],{"class":276},[170,7499,2225],{"class":176},[170,7501,2228],{"class":176},[170,7503,2897],{"class":176},[170,7505,2900],{"class":194},[170,7507,647],{"class":176},[170,7509,2905],{"class":194},[170,7511,2913],{"class":176},[170,7513,7514],{"class":172,"line":221},[170,7515,391],{"class":176},[156,7517,7518],{},[1453,7519,7121],{},[160,7521,7522],{"className":2202,"code":3348,"language":2204,"meta":165,"style":165},[167,7523,7524,7528,7532,7544,7556,7574,7578,7582,7594,7612,7616,7620,7624],{"__ignoreMap":165},[170,7525,7526],{"class":172,"line":173},[170,7527,3313],{"class":298},[170,7529,7530],{"class":172,"line":184},[170,7531,292],{"class":176},[170,7533,7534,7536,7538,7540,7542],{"class":172,"line":191},[170,7535,2220],{"class":176},[170,7537,2838],{"class":276},[170,7539,2225],{"class":176},[170,7541,2228],{"class":176},[170,7543,619],{"class":176},[170,7545,7546,7548,7550,7552,7554],{"class":172,"line":221},[170,7547,2952],{"class":176},[170,7549,2900],{"class":198},[170,7551,2225],{"class":176},[170,7553,2228],{"class":176},[170,7555,619],{"class":176},[170,7557,7558,7560,7562,7564,7566,7568,7570,7572],{"class":172,"line":226},[170,7559,2965],{"class":176},[170,7561,2968],{"class":194},[170,7563,2225],{"class":176},[170,7565,2228],{"class":176},[170,7567,2975],{"class":176},[170,7569,2978],{"class":379},[170,7571,2225],{"class":176},[170,7573,2983],{"class":176},[170,7575,7576],{"class":172,"line":245},[170,7577,2988],{"class":180},[170,7579,7580],{"class":172,"line":268},[170,7581,2993],{"class":176},[170,7583,7584,7586,7588,7590,7592],{"class":172,"line":273},[170,7585,2952],{"class":176},[170,7587,2905],{"class":198},[170,7589,2225],{"class":176},[170,7591,2228],{"class":176},[170,7593,619],{"class":176},[170,7595,7596,7598,7600,7602,7604,7606,7608,7610],{"class":172,"line":289},[170,7597,2965],{"class":176},[170,7599,2968],{"class":194},[170,7601,2225],{"class":176},[170,7603,2228],{"class":176},[170,7605,2975],{"class":176},[170,7607,3020],{"class":379},[170,7609,2225],{"class":176},[170,7611,2983],{"class":176},[170,7613,7614],{"class":172,"line":295},[170,7615,2988],{"class":180},[170,7617,7618],{"class":172,"line":302},[170,7619,2993],{"class":176},[170,7621,7622],{"class":172,"line":308},[170,7623,3077],{"class":176},[170,7625,7626],{"class":172,"line":314},[170,7627,391],{"class":176},[396,7629,7631],{"id":7630},"toggling","Toggling",[156,7633,7447,7634,7636,7637,7042],{},[167,7635,433],{}," endpoint to \"toggle\" the attachment status of one or multiple related models. For details on how \"toggling\" of related models works in Laravel, take a look at ",[445,7638,3467],{"href":2829,"rel":7639},[449],[156,7641,7279,7642,7644,7645,7647],{},[167,7643,2838],{},". Same as the sync endpoint, the ",[167,7646,2838],{}," field might be an array or an object.",[156,7649,7650],{},[1453,7651,7076],{},[160,7653,7654],{"className":2202,"code":3483,"language":2204,"meta":165,"style":165},[167,7655,7656,7660,7664,7684],{"__ignoreMap":165},[170,7657,7658],{"class":172,"line":173},[170,7659,3490],{"class":298},[170,7661,7662],{"class":172,"line":184},[170,7663,292],{"class":176},[170,7665,7666,7668,7670,7672,7674,7676,7678,7680,7682],{"class":172,"line":191},[170,7667,2220],{"class":176},[170,7669,2838],{"class":276},[170,7671,2225],{"class":176},[170,7673,2228],{"class":176},[170,7675,2897],{"class":176},[170,7677,2900],{"class":194},[170,7679,647],{"class":176},[170,7681,2905],{"class":194},[170,7683,2913],{"class":176},[170,7685,7686],{"class":172,"line":221},[170,7687,391],{"class":176},[156,7689,7690],{},[1453,7691,7121],{},[160,7693,7694],{"className":2202,"code":3525,"language":2204,"meta":165,"style":165},[167,7695,7696,7700,7704,7716,7728,7746,7750,7754,7766,7784,7788,7792,7796],{"__ignoreMap":165},[170,7697,7698],{"class":172,"line":173},[170,7699,3490],{"class":298},[170,7701,7702],{"class":172,"line":184},[170,7703,292],{"class":176},[170,7705,7706,7708,7710,7712,7714],{"class":172,"line":191},[170,7707,2220],{"class":176},[170,7709,2838],{"class":276},[170,7711,2225],{"class":176},[170,7713,2228],{"class":176},[170,7715,619],{"class":176},[170,7717,7718,7720,7722,7724,7726],{"class":172,"line":221},[170,7719,2952],{"class":176},[170,7721,2900],{"class":198},[170,7723,2225],{"class":176},[170,7725,2228],{"class":176},[170,7727,619],{"class":176},[170,7729,7730,7732,7734,7736,7738,7740,7742,7744],{"class":172,"line":226},[170,7731,2965],{"class":176},[170,7733,2968],{"class":194},[170,7735,2225],{"class":176},[170,7737,2228],{"class":176},[170,7739,2975],{"class":176},[170,7741,2978],{"class":379},[170,7743,2225],{"class":176},[170,7745,2983],{"class":176},[170,7747,7748],{"class":172,"line":245},[170,7749,2988],{"class":180},[170,7751,7752],{"class":172,"line":268},[170,7753,2993],{"class":176},[170,7755,7756,7758,7760,7762,7764],{"class":172,"line":273},[170,7757,2952],{"class":176},[170,7759,2905],{"class":198},[170,7761,2225],{"class":176},[170,7763,2228],{"class":176},[170,7765,619],{"class":176},[170,7767,7768,7770,7772,7774,7776,7778,7780,7782],{"class":172,"line":289},[170,7769,2965],{"class":176},[170,7771,2968],{"class":194},[170,7773,2225],{"class":176},[170,7775,2228],{"class":176},[170,7777,2975],{"class":176},[170,7779,3020],{"class":379},[170,7781,2225],{"class":176},[170,7783,2983],{"class":176},[170,7785,7786],{"class":172,"line":295},[170,7787,2988],{"class":180},[170,7789,7790],{"class":172,"line":302},[170,7791,2993],{"class":176},[170,7793,7794],{"class":172,"line":308},[170,7795,3077],{"class":176},[170,7797,7798],{"class":172,"line":314},[170,7799,391],{"class":176},[396,7801,7803],{"id":7802},"updating-pivot","Updating pivot",[156,7805,7447,7806,7808,7809,7042],{},[167,7807,2294],{}," endpoint to update the pivot row of one of the related models. For details on how pivot row is updated, take a look at ",[445,7810,3645],{"href":3643,"rel":7811},[449],[156,7813,7279,7814,7816],{},[167,7815,2294],{},". Its properties are pivot table fields that will be updated for the related model.",[156,7818,7819],{},[1453,7820,6459],{},[160,7822,7824],{"className":2202,"code":7823,"language":2204,"meta":165,"style":165},"\u002F\u002F (PATCH) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fusers\u002F{user}\u002Froles\u002F{role}\u002Fpivot\n{\n    \"pivot\" : { \u002F\u002F properties correspond to the columns in pivot table\n        \"example_pivot_field\" : \"updated value\",\n        \"another_pivot_field\" : \"new value\"\n        ...\n    }\n}\n",[167,7825,7826,7830,7834,7849,7867,7883,7887,7891],{"__ignoreMap":165},[170,7827,7828],{"class":172,"line":173},[170,7829,3664],{"class":298},[170,7831,7832],{"class":172,"line":184},[170,7833,292],{"class":176},[170,7835,7836,7838,7840,7842,7844,7846],{"class":172,"line":191},[170,7837,2220],{"class":176},[170,7839,2294],{"class":276},[170,7841,2225],{"class":176},[170,7843,2228],{"class":176},[170,7845,3681],{"class":176},[170,7847,7848],{"class":298}," \u002F\u002F properties correspond to the columns in pivot table\n",[170,7850,7851,7853,7855,7857,7859,7861,7863,7865],{"class":172,"line":221},[170,7852,2952],{"class":176},[170,7854,2968],{"class":198},[170,7856,2225],{"class":176},[170,7858,2228],{"class":176},[170,7860,2975],{"class":176},[170,7862,3699],{"class":379},[170,7864,2225],{"class":176},[170,7866,2983],{"class":176},[170,7868,7869,7871,7873,7875,7877,7879,7881],{"class":172,"line":226},[170,7870,2952],{"class":176},[170,7872,3710],{"class":198},[170,7874,2225],{"class":176},[170,7876,2228],{"class":176},[170,7878,2975],{"class":176},[170,7880,3719],{"class":379},[170,7882,3722],{"class":176},[170,7884,7885],{"class":172,"line":245},[170,7886,3727],{"class":180},[170,7888,7889],{"class":172,"line":268},[170,7890,3077],{"class":176},[170,7892,7893],{"class":172,"line":273},[170,7894,391],{"class":176},[152,7896,7898],{"id":7897},"customizing-keys","Customizing Keys",[156,7900,7901,7902,7906],{},"Just like ",[445,7903,7905],{"href":7904},"\u002Fguide\u002Fmodels#customizing-keys","model resources",", relation resources are using the primary key to fetch resources from the database.",[396,7908,7910],{"id":7909},"customizing-relation-resource-key","Customizing Relation Resource Key",[160,7912,7914],{"className":162,"code":7913,"language":164,"meta":165,"style":165},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Team;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass TeamPostsController extends RelationController\n{\n    \u002F**\n     * Fully-qualified model class name\n     *\u002F\n    protected $model = Team::class; \u002F\u002F or \"App\\Models\\Team\"\n    \n    \u002F**\n     * Name of the relationship as it is defined on the Post model\n     *\u002F\n    protected $relation = 'posts';\n\n    \u002F**\n     * The name of the field used to fetch a resource from the database.\n     *\n     * @return string\n     *\u002F\n    protected function keyName(): string\n    {\n        return 'slug'; \u002F\u002F \"slug\" here is the field on the Post model (posts relation)\n    }\n}\n",[167,7915,7916,7922,7926,7946,7950,7966,7986,7990,8000,8004,8008,8012,8016,8037,8041,8045,8049,8053,8071,8075,8079,8084,8088,8096,8100,8112,8116,8131,8135],{"__ignoreMap":165},[170,7917,7918,7920],{"class":172,"line":173},[170,7919,177],{"class":176},[170,7921,181],{"class":180},[170,7923,7924],{"class":172,"line":184},[170,7925,188],{"emptyLinePlaceholder":187},[170,7927,7928,7930,7932,7934,7936,7938,7940,7942,7944],{"class":172,"line":191},[170,7929,195],{"class":194},[170,7931,199],{"class":198},[170,7933,202],{"class":176},[170,7935,205],{"class":198},[170,7937,202],{"class":176},[170,7939,210],{"class":198},[170,7941,202],{"class":176},[170,7943,215],{"class":198},[170,7945,218],{"class":176},[170,7947,7948],{"class":172,"line":221},[170,7949,188],{"emptyLinePlaceholder":187},[170,7951,7952,7954,7956,7958,7960,7962,7964],{"class":172,"line":226},[170,7953,229],{"class":194},[170,7955,199],{"class":180},[170,7957,202],{"class":176},[170,7959,94],{"class":180},[170,7961,202],{"class":176},[170,7963,3802],{"class":180},[170,7965,218],{"class":176},[170,7967,7968,7970,7972,7974,7976,7978,7980,7982,7984],{"class":172,"line":245},[170,7969,229],{"class":194},[170,7971,250],{"class":180},[170,7973,202],{"class":176},[170,7975,205],{"class":180},[170,7977,202],{"class":176},[170,7979,210],{"class":180},[170,7981,202],{"class":176},[170,7983,263],{"class":180},[170,7985,218],{"class":176},[170,7987,7988],{"class":172,"line":268},[170,7989,188],{"emptyLinePlaceholder":187},[170,7991,7992,7994,7996,7998],{"class":172,"line":273},[170,7993,277],{"class":276},[170,7995,3835],{"class":198},[170,7997,283],{"class":276},[170,7999,286],{"class":198},[170,8001,8002],{"class":172,"line":289},[170,8003,292],{"class":176},[170,8005,8006],{"class":172,"line":295},[170,8007,299],{"class":298},[170,8009,8010],{"class":172,"line":302},[170,8011,4803],{"class":298},[170,8013,8014],{"class":172,"line":308},[170,8015,311],{"class":298},[170,8017,8018,8020,8022,8024,8026,8028,8030,8032,8034],{"class":172,"line":314},[170,8019,317],{"class":276},[170,8021,320],{"class":176},[170,8023,323],{"class":180},[170,8025,326],{"class":176},[170,8027,3868],{"class":198},[170,8029,332],{"class":176},[170,8031,277],{"class":194},[170,8033,337],{"class":176},[170,8035,8036],{"class":298}," \u002F\u002F or \"App\\Models\\Team\"\n",[170,8038,8039],{"class":172,"line":343},[170,8040,3882],{"class":180},[170,8042,8043],{"class":172,"line":348},[170,8044,299],{"class":298},[170,8046,8047],{"class":172,"line":353},[170,8048,4841],{"class":298},[170,8050,8051],{"class":172,"line":359},[170,8052,311],{"class":298},[170,8054,8055,8057,8059,8061,8063,8065,8067,8069],{"class":172,"line":364},[170,8056,317],{"class":276},[170,8058,320],{"class":176},[170,8060,371],{"class":180},[170,8062,326],{"class":176},[170,8064,376],{"class":176},[170,8066,691],{"class":379},[170,8068,383],{"class":176},[170,8070,218],{"class":176},[170,8072,8073],{"class":172,"line":388},[170,8074,188],{"emptyLinePlaceholder":187},[170,8076,8077],{"class":172,"line":1000},[170,8078,299],{"class":298},[170,8080,8081],{"class":172,"line":1037},[170,8082,8083],{"class":298},"     * The name of the field used to fetch a resource from the database.\n",[170,8085,8086],{"class":172,"line":1042},[170,8087,3930],{"class":298},[170,8089,8090,8092,8094],{"class":172,"line":3933},[170,8091,3936],{"class":298},[170,8093,3940],{"class":3939},[170,8095,3943],{"class":3939},[170,8097,8098],{"class":172,"line":3946},[170,8099,311],{"class":298},[170,8101,8102,8104,8106,8108,8110],{"class":172,"line":3951},[170,8103,317],{"class":276},[170,8105,613],{"class":276},[170,8107,3958],{"class":586},[170,8109,3961],{"class":176},[170,8111,3943],{"class":194},[170,8113,8114],{"class":172,"line":3966},[170,8115,3969],{"class":176},[170,8117,8118,8120,8122,8124,8126,8128],{"class":172,"line":3972},[170,8119,3976],{"class":3975},[170,8121,376],{"class":176},[170,8123,3981],{"class":379},[170,8125,383],{"class":176},[170,8127,337],{"class":176},[170,8129,8130],{"class":298}," \u002F\u002F \"slug\" here is the field on the Post model (posts relation)\n",[170,8132,8133],{"class":172,"line":3991},[170,8134,3077],{"class":176},[170,8136,8137],{"class":172,"line":3996},[170,8138,391],{"class":176},[396,8140,8142],{"id":8141},"customizing-parent-resource-key","Customizing Parent Resource Key",[156,8144,8145,8146,8148],{},"If both parent and relation resources use custom keys, you would also need to override the ",[167,8147,4007],{}," method:",[160,8150,8152],{"className":162,"code":8151,"language":164,"meta":165,"style":165},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse App\\Models\\Team;\nuse Orion\\Http\\Controllers\\RelationController;\n\nclass TeamPostsController extends RelationController\n{\n    \u002F**\n     * Fully-qualified model class name\n     *\u002F\n    protected $model = Team::class; \u002F\u002F or \"App\\Models\\Team\"\n    \n    \u002F**\n     * Name of the relationship as it is defined on the Post model\n     *\u002F\n    protected $relation = 'posts';\n\n     \u002F**\n     * The name of the field used to fetch parent resource from the database.\n     *\n     * @return string\n     *\u002F\n    protected function parentKeyName(): string\n    {\n        return 'short_name'; \u002F\u002F \"short_name\" here is the field on the Team model\n    }\n\n    \u002F**\n     * The name of the field used to fetch a resource from the database.\n     *\n     * @return string\n     *\u002F\n    protected function keyName(): string\n    {\n        return 'slug'; \u002F\u002F \"slug\" here is the field on the Post model (posts relation)\n    }\n}\n",[167,8153,8154,8160,8164,8184,8188,8204,8224,8228,8238,8242,8246,8250,8254,8274,8278,8282,8286,8290,8308,8312,8316,8321,8325,8333,8337,8349,8353,8368,8372,8376,8380,8384,8388,8396,8400,8412,8416,8430,8434],{"__ignoreMap":165},[170,8155,8156,8158],{"class":172,"line":173},[170,8157,177],{"class":176},[170,8159,181],{"class":180},[170,8161,8162],{"class":172,"line":184},[170,8163,188],{"emptyLinePlaceholder":187},[170,8165,8166,8168,8170,8172,8174,8176,8178,8180,8182],{"class":172,"line":191},[170,8167,195],{"class":194},[170,8169,199],{"class":198},[170,8171,202],{"class":176},[170,8173,205],{"class":198},[170,8175,202],{"class":176},[170,8177,210],{"class":198},[170,8179,202],{"class":176},[170,8181,215],{"class":198},[170,8183,218],{"class":176},[170,8185,8186],{"class":172,"line":221},[170,8187,188],{"emptyLinePlaceholder":187},[170,8189,8190,8192,8194,8196,8198,8200,8202],{"class":172,"line":226},[170,8191,229],{"class":194},[170,8193,199],{"class":180},[170,8195,202],{"class":176},[170,8197,94],{"class":180},[170,8199,202],{"class":176},[170,8201,3802],{"class":180},[170,8203,218],{"class":176},[170,8205,8206,8208,8210,8212,8214,8216,8218,8220,8222],{"class":172,"line":245},[170,8207,229],{"class":194},[170,8209,250],{"class":180},[170,8211,202],{"class":176},[170,8213,205],{"class":180},[170,8215,202],{"class":176},[170,8217,210],{"class":180},[170,8219,202],{"class":176},[170,8221,263],{"class":180},[170,8223,218],{"class":176},[170,8225,8226],{"class":172,"line":268},[170,8227,188],{"emptyLinePlaceholder":187},[170,8229,8230,8232,8234,8236],{"class":172,"line":273},[170,8231,277],{"class":276},[170,8233,3835],{"class":198},[170,8235,283],{"class":276},[170,8237,286],{"class":198},[170,8239,8240],{"class":172,"line":289},[170,8241,292],{"class":176},[170,8243,8244],{"class":172,"line":295},[170,8245,299],{"class":298},[170,8247,8248],{"class":172,"line":302},[170,8249,4803],{"class":298},[170,8251,8252],{"class":172,"line":308},[170,8253,311],{"class":298},[170,8255,8256,8258,8260,8262,8264,8266,8268,8270,8272],{"class":172,"line":314},[170,8257,317],{"class":276},[170,8259,320],{"class":176},[170,8261,323],{"class":180},[170,8263,326],{"class":176},[170,8265,3868],{"class":198},[170,8267,332],{"class":176},[170,8269,277],{"class":194},[170,8271,337],{"class":176},[170,8273,8036],{"class":298},[170,8275,8276],{"class":172,"line":343},[170,8277,3882],{"class":180},[170,8279,8280],{"class":172,"line":348},[170,8281,299],{"class":298},[170,8283,8284],{"class":172,"line":353},[170,8285,4841],{"class":298},[170,8287,8288],{"class":172,"line":359},[170,8289,311],{"class":298},[170,8291,8292,8294,8296,8298,8300,8302,8304,8306],{"class":172,"line":364},[170,8293,317],{"class":276},[170,8295,320],{"class":176},[170,8297,371],{"class":180},[170,8299,326],{"class":176},[170,8301,376],{"class":176},[170,8303,691],{"class":379},[170,8305,383],{"class":176},[170,8307,218],{"class":176},[170,8309,8310],{"class":172,"line":388},[170,8311,188],{"emptyLinePlaceholder":187},[170,8313,8314],{"class":172,"line":1000},[170,8315,4176],{"class":298},[170,8317,8318],{"class":172,"line":1037},[170,8319,8320],{"class":298},"     * The name of the field used to fetch parent resource from the database.\n",[170,8322,8323],{"class":172,"line":1042},[170,8324,3930],{"class":298},[170,8326,8327,8329,8331],{"class":172,"line":3933},[170,8328,3936],{"class":298},[170,8330,3940],{"class":3939},[170,8332,3943],{"class":3939},[170,8334,8335],{"class":172,"line":3946},[170,8336,311],{"class":298},[170,8338,8339,8341,8343,8345,8347],{"class":172,"line":3951},[170,8340,317],{"class":276},[170,8342,613],{"class":276},[170,8344,4206],{"class":586},[170,8346,3961],{"class":176},[170,8348,3943],{"class":194},[170,8350,8351],{"class":172,"line":3966},[170,8352,3969],{"class":176},[170,8354,8355,8357,8359,8361,8363,8365],{"class":172,"line":3972},[170,8356,3976],{"class":3975},[170,8358,376],{"class":176},[170,8360,4223],{"class":379},[170,8362,383],{"class":176},[170,8364,337],{"class":176},[170,8366,8367],{"class":298}," \u002F\u002F \"short_name\" here is the field on the Team model\n",[170,8369,8370],{"class":172,"line":3991},[170,8371,3077],{"class":176},[170,8373,8374],{"class":172,"line":3996},[170,8375,188],{"emptyLinePlaceholder":187},[170,8377,8378],{"class":172,"line":4241},[170,8379,299],{"class":298},[170,8381,8382],{"class":172,"line":4246},[170,8383,8083],{"class":298},[170,8385,8386],{"class":172,"line":4251},[170,8387,3930],{"class":298},[170,8389,8390,8392,8394],{"class":172,"line":4256},[170,8391,3936],{"class":298},[170,8393,3940],{"class":3939},[170,8395,3943],{"class":3939},[170,8397,8398],{"class":172,"line":4265},[170,8399,311],{"class":298},[170,8401,8402,8404,8406,8408,8410],{"class":172,"line":4270},[170,8403,317],{"class":276},[170,8405,613],{"class":276},[170,8407,3958],{"class":586},[170,8409,3961],{"class":176},[170,8411,3943],{"class":194},[170,8413,8414],{"class":172,"line":4283},[170,8415,3969],{"class":176},[170,8417,8418,8420,8422,8424,8426,8428],{"class":172,"line":4288},[170,8419,3976],{"class":3975},[170,8421,376],{"class":176},[170,8423,3981],{"class":379},[170,8425,383],{"class":176},[170,8427,337],{"class":176},[170,8429,8130],{"class":298},[170,8431,8432],{"class":172,"line":4303},[170,8433,3077],{"class":176},[170,8435,8436],{"class":172,"line":4308},[170,8437,391],{"class":176},[152,8439,8441],{"id":8440},"customizing-queries","Customizing Queries",[156,8443,8444,8445,8449],{},"It is possible, same as in ",[445,8446,8448],{"href":8447},"\u002Fguide\u002Fmodels#customizing-queries","model controllers",", to redefine Eloquent queries for each endpoint. The only major difference is that each endpoint in the relation controller also has \"build\" and \"run\" methods for fetching relation's parent model.",[396,8451,8453],{"id":8452},"standard-operations-methods","Standard Operations Methods",[4325,8455,8456,8475],{},[4328,8457,8458],{},[4331,8459,8460,8463,8466,8469,8471,8473],{},[4334,8461,8462],{},"Method",[4334,8464,8465],{},"Build (parent)",[4334,8467,8468],{},"Run (parent)",[4334,8470,4345],{},[4334,8472,4348],{},[4334,8474,4351],{},[4353,8476,8477,8491,8505,8519,8533,8547],{},[4331,8478,8479,8481,8483,8485,8487,8489],{},[4358,8480,1721],{},[4358,8482,4362],{},[4358,8484,4365],{},[4358,8486,4368],{},[4358,8488,4371],{},[4358,8490,4374],{},[4331,8492,8493,8495,8497,8499,8501,8503],{},[4358,8494,1426],{},[4358,8496,4381],{},[4358,8498,4384],{},[4358,8500,4387],{},[4358,8502,4390],{},[4358,8504,4393],{},[4331,8506,8507,8509,8511,8513,8515,8517],{},[4358,8508,1429],{},[4358,8510,4400],{},[4358,8512,4403],{},[4358,8514,4406],{},[4358,8516,4409],{},[4358,8518,4374],{},[4331,8520,8521,8523,8525,8527,8529,8531],{},[4358,8522,1432],{},[4358,8524,4418],{},[4358,8526,4421],{},[4358,8528,4424],{},[4358,8530,4427],{},[4358,8532,4430],{},[4331,8534,8535,8537,8539,8541,8543,8545],{},[4358,8536,1435],{},[4358,8538,4437],{},[4358,8540,4440],{},[4358,8542,4443],{},[4358,8544,4446],{},[4358,8546,4449],{},[4331,8548,8549,8551,8553,8555,8557,8559],{},[4358,8550,1225],{},[4358,8552,4456],{},[4358,8554,4459],{},[4358,8556,4462],{},[4358,8558,4465],{},[4358,8560,4468],{},[396,8562,8564],{"id":8563},"one-to-many-operations-methods","One to Many Operations Methods",[4325,8566,8567,8583],{},[4328,8568,8569],{},[4331,8570,8571,8573,8575,8577,8579,8581],{},[4334,8572,8462],{},[4334,8574,8465],{},[4334,8576,8468],{},[4334,8578,4345],{},[4334,8580,4348],{},[4334,8582,4351],{},[4353,8584,8585,8599],{},[4331,8586,8587,8589,8591,8593,8595,8597],{},[4358,8588,1735],{},[4358,8590,4499],{},[4358,8592,4502],{},[4358,8594,4505],{},[4358,8596,4508],{},[4358,8598,4511],{},[4331,8600,8601,8603,8605,8607,8609,8611],{},[4358,8602,1738],{},[4358,8604,4518],{},[4358,8606,4521],{},[4358,8608,4524],{},[4358,8610,4527],{},[4358,8612,4530],{},[396,8614,8616],{"id":8615},"many-to-many-operations-methods","Many to Many Operations Methods",[4325,8618,8619,8635],{},[4328,8620,8621],{},[4331,8622,8623,8625,8627,8629,8631,8633],{},[4334,8624,8462],{},[4334,8626,8465],{},[4334,8628,8468],{},[4334,8630,4345],{},[4334,8632,4348],{},[4334,8634,4351],{},[4353,8636,8637,8651,8665,8679,8693],{},[4331,8638,8639,8641,8643,8645,8647,8649],{},[4358,8640,426],{},[4358,8642,4560],{},[4358,8644,4563],{},[4358,8646,4374],{},[4358,8648,4374],{},[4358,8650,4570],{},[4331,8652,8653,8655,8657,8659,8661,8663],{},[4358,8654,2287],{},[4358,8656,4577],{},[4358,8658,4580],{},[4358,8660,4374],{},[4358,8662,4374],{},[4358,8664,4587],{},[4331,8666,8667,8669,8671,8673,8675,8677],{},[4358,8668,430],{},[4358,8670,4594],{},[4358,8672,4597],{},[4358,8674,4374],{},[4358,8676,4374],{},[4358,8678,4604],{},[4331,8680,8681,8683,8685,8687,8689,8691],{},[4358,8682,433],{},[4358,8684,4611],{},[4358,8686,4614],{},[4358,8688,4374],{},[4358,8690,4374],{},[4358,8692,4621],{},[4331,8694,8695,8697,8699,8701,8703,8705],{},[4358,8696,436],{},[4358,8698,4628],{},[4358,8700,4631],{},[4358,8702,4374],{},[4358,8704,4374],{},[4358,8706,4638],{},[457,8708,8709],{"icon":459},[156,8710,8711,8712,8714],{},"You can also customize how attributes are filled on the model by overriding the ",[167,8713,4645],{}," method.",[4648,8716,4650],{},{"title":165,"searchDepth":173,"depth":184,"links":8718},[8719,8722,8725,8726,8730,8737,8741],{"id":4697,"depth":184,"text":4698,"children":8720},[8721],{"id":4873,"depth":191,"text":4874},{"id":4943,"depth":184,"text":4944,"children":8723},[8724],{"id":5446,"depth":191,"text":5447},{"id":5735,"depth":184,"text":5736},{"id":6006,"depth":184,"text":6007,"children":8727},[8728,8729],{"id":6438,"depth":191,"text":6439},{"id":6490,"depth":191,"text":6491},{"id":6506,"depth":184,"text":6507,"children":8731},[8732,8733,8734,8735,8736],{"id":7031,"depth":191,"text":7032},{"id":3283,"depth":191,"text":7270},{"id":7443,"depth":191,"text":7444},{"id":7630,"depth":191,"text":7631},{"id":7802,"depth":191,"text":7803},{"id":7897,"depth":184,"text":7898,"children":8738},[8739,8740],{"id":7909,"depth":191,"text":7910},{"id":8141,"depth":191,"text":8142},{"id":8440,"depth":184,"text":8441,"children":8742},[8743,8744,8745],{"id":8452,"depth":191,"text":8453},{"id":8563,"depth":191,"text":8564},{"id":8615,"depth":191,"text":8616},"Learn how to expose model relationships via API.",{},"\u002Fguide\u002Frelationships",{"title":98,"description":8746},"1.guide\u002F04.relationships","mAfwasijN7YJ7Oxi1j6_MiGBAUb5L-qm9Ai1YjVEGa4",1784394452653]