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