[{"data":1,"prerenderedAt":2109},["ShallowReactive",2],{"navigation-ko":3,"navigation-v1":81,"\u002Fko\u002Fguide\u002Fprologue":146,"\u002Fko\u002Fguide\u002Fprologue-surround":1204,"\u002Fko\u002Fguide\u002Fprologue-og":1209},[4,55,77],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"가이드","\u002Fko\u002Fguide","ko\u002F1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43,47,51],{"title":10,"path":6,"stem":7},"소개",{"title":12,"path":13,"stem":14},"프롤로그","\u002Fko\u002Fguide\u002Fprologue","ko\u002F1.guide\u002F00.prologue",{"title":16,"path":17,"stem":18},"시작하기","\u002Fko\u002Fguide\u002Fgetting-started","ko\u002F1.guide\u002F02.getting-started",{"title":20,"path":21,"stem":22},"모델","\u002Fko\u002Fguide\u002Fmodels","ko\u002F1.guide\u002F03.models",{"title":24,"path":25,"stem":26},"연관관계","\u002Fko\u002Fguide\u002Frelationships","ko\u002F1.guide\u002F04.relationships",{"title":28,"path":29,"stem":30},"훅","\u002Fko\u002Fguide\u002Fhooks","ko\u002F1.guide\u002F05.hooks",{"title":32,"path":33,"stem":34},"검색","\u002Fko\u002Fguide\u002Fsearch","ko\u002F1.guide\u002F06.search",{"title":36,"path":37,"stem":38},"일괄 작업","\u002Fko\u002Fguide\u002Fbatch-operations","ko\u002F1.guide\u002F07.batch-operations",{"title":40,"path":41,"stem":42},"쿼리 파라미터","\u002Fko\u002Fguide\u002Fquery-parameters","ko\u002F1.guide\u002F08.query-parameters",{"title":44,"path":45,"stem":46},"보안","\u002Fko\u002Fguide\u002Fsecurity","ko\u002F1.guide\u002F09.security",{"title":48,"path":49,"stem":50},"응답","\u002Fko\u002Fguide\u002Fresponses","ko\u002F1.guide\u002F10.responses",{"title":52,"path":53,"stem":54},"명세","\u002Fko\u002Fguide\u002Fspecifications","ko\u002F1.guide\u002F11.specifications",{"title":56,"path":57,"stem":58,"children":59},"TypeScript SDK","\u002Fko\u002Ftypescript-sdk","ko\u002F2.typescript-sdk\u002F01.index",[60,61,64,68,71,74],{"title":10,"path":57,"stem":58},{"title":16,"path":62,"stem":63},"\u002Fko\u002Ftypescript-sdk\u002Fgetting-started","ko\u002F2.typescript-sdk\u002F02.getting-started",{"title":65,"path":66,"stem":67},"설정","\u002Fko\u002Ftypescript-sdk\u002Fconfiguration","ko\u002F2.typescript-sdk\u002F03.configuration",{"title":20,"path":69,"stem":70},"\u002Fko\u002Ftypescript-sdk\u002Fmodels","ko\u002F2.typescript-sdk\u002F04.models",{"title":24,"path":72,"stem":73},"\u002Fko\u002Ftypescript-sdk\u002Frelationships","ko\u002F2.typescript-sdk\u002F05.relationships",{"title":40,"path":75,"stem":76},"\u002Fko\u002Ftypescript-sdk\u002Fquery-parameters","ko\u002F2.typescript-sdk\u002F06.query-parameters",{"title":78,"path":79,"stem":80},"스크린캐스트","\u002Fko\u002Fscreencasts","ko\u002Fscreencasts",[82,125],{"title":83,"path":84,"stem":85,"children":86},"Guide","\u002Fv1.x\u002Fguide","v1.x\u002F1.guide\u002F01.index",[87,89,93,97,101,105,109,113,117,121],{"title":88,"path":84,"stem":85},"Introduction",{"title":90,"path":91,"stem":92},"Getting Started","\u002Fv1.x\u002Fguide\u002Fgetting-started","v1.x\u002F1.guide\u002F02.getting-started",{"title":94,"path":95,"stem":96},"Models","\u002Fv1.x\u002Fguide\u002Fmodels","v1.x\u002F1.guide\u002F03.models",{"title":98,"path":99,"stem":100},"Relationships","\u002Fv1.x\u002Fguide\u002Frelationships","v1.x\u002F1.guide\u002F04.relationships",{"title":102,"path":103,"stem":104},"Hooks","\u002Fv1.x\u002Fguide\u002Fhooks","v1.x\u002F1.guide\u002F05.hooks",{"title":106,"path":107,"stem":108},"Search","\u002Fv1.x\u002Fguide\u002Fsearch","v1.x\u002F1.guide\u002F06.search",{"title":110,"path":111,"stem":112},"Batch Operations","\u002Fv1.x\u002Fguide\u002Fbatch-operations","v1.x\u002F1.guide\u002F07.batch-operations",{"title":114,"path":115,"stem":116},"Query Parameters","\u002Fv1.x\u002Fguide\u002Fquery-parameters","v1.x\u002F1.guide\u002F08.query-parameters",{"title":118,"path":119,"stem":120},"Security","\u002Fv1.x\u002Fguide\u002Fsecurity","v1.x\u002F1.guide\u002F09.security",{"title":122,"path":123,"stem":124},"Responses","\u002Fv1.x\u002Fguide\u002Fresponses","v1.x\u002F1.guide\u002F10.responses",{"title":56,"path":126,"stem":127,"children":128},"\u002Fv1.x\u002Ftypescript-sdk","v1.x\u002F2.typescript-sdk\u002F01.index",[129,130,133,137,140,143],{"title":88,"path":126,"stem":127},{"title":90,"path":131,"stem":132},"\u002Fv1.x\u002Ftypescript-sdk\u002Fgetting-started","v1.x\u002F2.typescript-sdk\u002F02.getting-started",{"title":134,"path":135,"stem":136},"Configuration","\u002Fv1.x\u002Ftypescript-sdk\u002Fconfiguration","v1.x\u002F2.typescript-sdk\u002F03.configuration",{"title":94,"path":138,"stem":139},"\u002Fv1.x\u002Ftypescript-sdk\u002Fmodels","v1.x\u002F2.typescript-sdk\u002F04.models",{"title":98,"path":141,"stem":142},"\u002Fv1.x\u002Ftypescript-sdk\u002Frelationships","v1.x\u002F2.typescript-sdk\u002F05.relationships",{"title":114,"path":144,"stem":145},"\u002Fv1.x\u002Ftypescript-sdk\u002Fquery-parameters","v1.x\u002F2.typescript-sdk\u002F06.query-parameters",{"id":147,"title":12,"body":148,"description":1198,"extension":1199,"links":1200,"meta":1201,"navigation":436,"path":13,"seo":1202,"stem":14,"__hash__":1203},"docs_ko\u002Fko\u002F1.guide\u002F00.prologue.md",{"type":149,"value":150,"toc":1180},"minimark",[151,156,161,165,191,198,202,205,414,417,675,679,682,730,733,786,790,793,842,846,857,864,875,962,966,969,973,976,980,986,1008,1012,1018,1021,1038,1042,1048,1080,1083,1086,1093,1096,1102,1133,1138,1176],[152,153,155],"h2",{"id":154},"릴리스-노트","릴리스 노트",[157,158,160],"h3",{"id":159},"openapi-명세-생성","OpenAPI 명세 생성",[162,163,164],"p",{},"이제 다음 명령어를 실행하는 것만으로 Orion 기반의 모든 엔드포인트에 대한 OpenAPI 명세를 자동으로 생성할 수 있습니다.",[166,167,172],"pre",{"className":168,"code":169,"language":170,"meta":171,"style":171},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan orion:specs\n","bash","",[173,174,175],"code",{"__ignoreMap":171},[176,177,180,184,188],"span",{"class":178,"line":179},"line",1,[176,181,183],{"class":182},"sBMFI","php",[176,185,187],{"class":186},"sfazB"," artisan",[176,189,190],{"class":186}," orion:specs\n",[162,192,193,194,197],{},"이 기능에 대한 자세한 내용은 이 가이드의 ",[195,196,52],"a",{"href":53}," 섹션에서 확인할 수 있습니다.",[157,199,201],{"id":200},"json-필드-검색","JSON 필드 검색",[162,203,204],{},"2.0 릴리스는 JSON 필드 지원을 도입하여 검색 기능을 한층 강화합니다.",[166,206,210],{"className":207,"code":208,"language":209,"meta":171,"style":171},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fposts\u002Fsearch\n{\n    \"filters\" : [\n        {\"field\" : \"options->visible\", \"operator\" : \">=\", \"value\" : true},\n    ],\n    \"search\" : {\n        \"value\" : \"Example post\"\n    },\n    \"sort\" : [\n        {\"field\" : \"options->key\", \"direction\" : \"asc\"},\n    ]\n}\n","json",[173,211,212,218,225,244,300,306,321,341,347,361,402,408],{"__ignoreMap":171},[176,213,214],{"class":178,"line":179},[176,215,217],{"class":216},"sHwdD","\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fposts\u002Fsearch\n",[176,219,221],{"class":178,"line":220},2,[176,222,224],{"class":223},"sMK4o","{\n",[176,226,228,231,235,238,241],{"class":178,"line":227},3,[176,229,230],{"class":223},"    \"",[176,232,234],{"class":233},"spNyl","filters",[176,236,237],{"class":223},"\"",[176,239,240],{"class":223}," :",[176,242,243],{"class":223}," [\n",[176,245,247,250,252,255,257,259,262,265,267,270,272,275,277,279,281,284,286,288,290,293,295,297],{"class":178,"line":246},4,[176,248,249],{"class":223},"        {",[176,251,237],{"class":223},[176,253,254],{"class":182},"field",[176,256,237],{"class":223},[176,258,240],{"class":223},[176,260,261],{"class":223}," \"",[176,263,264],{"class":186},"options->visible",[176,266,237],{"class":223},[176,268,269],{"class":223},",",[176,271,261],{"class":223},[176,273,274],{"class":182},"operator",[176,276,237],{"class":223},[176,278,240],{"class":223},[176,280,261],{"class":223},[176,282,283],{"class":186},">=",[176,285,237],{"class":223},[176,287,269],{"class":223},[176,289,261],{"class":223},[176,291,292],{"class":182},"value",[176,294,237],{"class":223},[176,296,240],{"class":223},[176,298,299],{"class":223}," true},\n",[176,301,303],{"class":178,"line":302},5,[176,304,305],{"class":223},"    ],\n",[176,307,309,311,314,316,318],{"class":178,"line":308},6,[176,310,230],{"class":223},[176,312,313],{"class":233},"search",[176,315,237],{"class":223},[176,317,240],{"class":223},[176,319,320],{"class":223}," {\n",[176,322,324,327,329,331,333,335,338],{"class":178,"line":323},7,[176,325,326],{"class":223},"        \"",[176,328,292],{"class":182},[176,330,237],{"class":223},[176,332,240],{"class":223},[176,334,261],{"class":223},[176,336,337],{"class":186},"Example post",[176,339,340],{"class":223},"\"\n",[176,342,344],{"class":178,"line":343},8,[176,345,346],{"class":223},"    },\n",[176,348,350,352,355,357,359],{"class":178,"line":349},9,[176,351,230],{"class":223},[176,353,354],{"class":233},"sort",[176,356,237],{"class":223},[176,358,240],{"class":223},[176,360,243],{"class":223},[176,362,364,366,368,370,372,374,376,379,381,383,385,388,390,392,394,397,399],{"class":178,"line":363},10,[176,365,249],{"class":223},[176,367,237],{"class":223},[176,369,254],{"class":182},[176,371,237],{"class":223},[176,373,240],{"class":223},[176,375,261],{"class":223},[176,377,378],{"class":186},"options->key",[176,380,237],{"class":223},[176,382,269],{"class":223},[176,384,261],{"class":223},[176,386,387],{"class":182},"direction",[176,389,237],{"class":223},[176,391,240],{"class":223},[176,393,261],{"class":223},[176,395,396],{"class":186},"asc",[176,398,237],{"class":223},[176,400,401],{"class":223},"},\n",[176,403,405],{"class":178,"line":404},11,[176,406,407],{"class":223},"    ]\n",[176,409,411],{"class":178,"line":410},12,[176,412,413],{"class":223},"}\n",[162,415,416],{},"JSON 필드 내부의 필드를 허용 목록에 등록하려면 화살표 표기법을 사용하세요.",[166,418,421],{"className":419,"code":420,"language":183,"meta":171,"style":171},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse Orion\\Http\\Controllers\\Controller;\n\n\u002F\u002F 여기서 options 필드는 Post 모델의 json\u002Fjsonb 필드입니다\n\u002F\u002F visible과 key 필드는 해당 json\u002Fjsonb 필드 내부의 필드입니다\nclass PostsController extends Controller\n{\n    public function filterableBy() : array\n    {\n        return ['options->visible'];\n    }\n\n    public function searchableBy() : array\n    {\n        return [ 'options->key'];\n    }\n\n    public function sortableBy() : array\n    {\n         return ['options->key'];\n    }\n}\n",[173,422,423,432,438,466,470,493,497,502,507,521,525,545,550,570,576,581,597,602,618,623,628,644,649,665,670],{"__ignoreMap":171},[176,424,425,428],{"class":178,"line":179},[176,426,427],{"class":223},"\u003C?",[176,429,431],{"class":430},"sTEyZ","php\n",[176,433,434],{"class":178,"line":220},[176,435,437],{"emptyLinePlaceholder":436},true,"\n",[176,439,440,444,447,450,453,455,458,460,463],{"class":178,"line":227},[176,441,443],{"class":442},"sbssI","namespace",[176,445,446],{"class":182}," App",[176,448,449],{"class":223},"\\",[176,451,452],{"class":182},"Http",[176,454,449],{"class":223},[176,456,457],{"class":182},"Controllers",[176,459,449],{"class":223},[176,461,462],{"class":182},"Api",[176,464,465],{"class":223},";\n",[176,467,468],{"class":178,"line":246},[176,469,437],{"emptyLinePlaceholder":436},[176,471,472,475,478,480,482,484,486,488,491],{"class":178,"line":302},[176,473,474],{"class":442},"use",[176,476,477],{"class":430}," Orion",[176,479,449],{"class":223},[176,481,452],{"class":430},[176,483,449],{"class":223},[176,485,457],{"class":430},[176,487,449],{"class":223},[176,489,490],{"class":430},"Controller",[176,492,465],{"class":223},[176,494,495],{"class":178,"line":308},[176,496,437],{"emptyLinePlaceholder":436},[176,498,499],{"class":178,"line":323},[176,500,501],{"class":216},"\u002F\u002F 여기서 options 필드는 Post 모델의 json\u002Fjsonb 필드입니다\n",[176,503,504],{"class":178,"line":343},[176,505,506],{"class":216},"\u002F\u002F visible과 key 필드는 해당 json\u002Fjsonb 필드 내부의 필드입니다\n",[176,508,509,512,515,518],{"class":178,"line":349},[176,510,511],{"class":233},"class",[176,513,514],{"class":182}," PostsController",[176,516,517],{"class":233}," extends",[176,519,520],{"class":182}," Controller\n",[176,522,523],{"class":178,"line":363},[176,524,224],{"class":223},[176,526,527,530,533,537,540,542],{"class":178,"line":404},[176,528,529],{"class":233},"    public",[176,531,532],{"class":233}," function",[176,534,536],{"class":535},"s2Zo4"," filterableBy",[176,538,539],{"class":223},"()",[176,541,240],{"class":223},[176,543,544],{"class":442}," array\n",[176,546,547],{"class":178,"line":410},[176,548,549],{"class":223},"    {\n",[176,551,553,557,560,563,565,567],{"class":178,"line":552},13,[176,554,556],{"class":555},"s7zQu","        return",[176,558,559],{"class":223}," [",[176,561,562],{"class":223},"'",[176,564,264],{"class":186},[176,566,562],{"class":223},[176,568,569],{"class":223},"];\n",[176,571,573],{"class":178,"line":572},14,[176,574,575],{"class":223},"    }\n",[176,577,579],{"class":178,"line":578},15,[176,580,437],{"emptyLinePlaceholder":436},[176,582,584,586,588,591,593,595],{"class":178,"line":583},16,[176,585,529],{"class":233},[176,587,532],{"class":233},[176,589,590],{"class":535}," searchableBy",[176,592,539],{"class":223},[176,594,240],{"class":223},[176,596,544],{"class":442},[176,598,600],{"class":178,"line":599},17,[176,601,549],{"class":223},[176,603,605,607,609,612,614,616],{"class":178,"line":604},18,[176,606,556],{"class":555},[176,608,559],{"class":223},[176,610,611],{"class":223}," '",[176,613,378],{"class":186},[176,615,562],{"class":223},[176,617,569],{"class":223},[176,619,621],{"class":178,"line":620},19,[176,622,575],{"class":223},[176,624,626],{"class":178,"line":625},20,[176,627,437],{"emptyLinePlaceholder":436},[176,629,631,633,635,638,640,642],{"class":178,"line":630},21,[176,632,529],{"class":233},[176,634,532],{"class":233},[176,636,637],{"class":535}," sortableBy",[176,639,539],{"class":223},[176,641,240],{"class":223},[176,643,544],{"class":442},[176,645,647],{"class":178,"line":646},22,[176,648,549],{"class":223},[176,650,652,655,657,659,661,663],{"class":178,"line":651},23,[176,653,654],{"class":555},"         return",[176,656,559],{"class":223},[176,658,562],{"class":223},[176,660,378],{"class":186},[176,662,562],{"class":223},[176,664,569],{"class":223},[176,666,668],{"class":178,"line":667},24,[176,669,575],{"class":223},[176,671,673],{"class":178,"line":672},25,[176,674,413],{"class":223},[157,676,678],{"id":677},"중첩-연관관계-검색","중첩 연관관계 검색",[162,680,681],{},"이전에는 연관관계 필드에 대한 검색이 한 단계 깊이까지만 가능했습니다. 예:",[166,683,685],{"className":419,"code":684,"language":183,"meta":171,"style":171},"public function searchableBy() : array\n{\n    return ['user.name']; \u002F\u002F user 관계의 name 필드\n}\n",[173,686,687,702,706,726],{"__ignoreMap":171},[176,688,689,692,694,696,698,700],{"class":178,"line":179},[176,690,691],{"class":233},"public",[176,693,532],{"class":233},[176,695,590],{"class":535},[176,697,539],{"class":223},[176,699,240],{"class":223},[176,701,544],{"class":442},[176,703,704],{"class":178,"line":220},[176,705,224],{"class":223},[176,707,708,711,713,715,718,720,723],{"class":178,"line":227},[176,709,710],{"class":555},"    return",[176,712,559],{"class":223},[176,714,562],{"class":223},[176,716,717],{"class":186},"user.name",[176,719,562],{"class":223},[176,721,722],{"class":223},"];",[176,724,725],{"class":216}," \u002F\u002F user 관계의 name 필드\n",[176,727,728],{"class":178,"line":246},[176,729,413],{"class":223},[162,731,732],{},"이번 릴리스부터는 깊게 중첩된 연관관계에 대해서도 검색을 수행할 수 있습니다.",[166,734,736],{"className":419,"code":735,"language":183,"meta":171,"style":171},"public function searchableBy() : array\n{\n    return ['user.name', 'user.location.address.postalcode']; \u002F\u002F 깊게 중첩된 user.location.address 관계의 postalcode 필드\n}\n",[173,737,738,752,756,782],{"__ignoreMap":171},[176,739,740,742,744,746,748,750],{"class":178,"line":179},[176,741,691],{"class":233},[176,743,532],{"class":233},[176,745,590],{"class":535},[176,747,539],{"class":223},[176,749,240],{"class":223},[176,751,544],{"class":442},[176,753,754],{"class":178,"line":220},[176,755,224],{"class":223},[176,757,758,760,762,764,766,768,770,772,775,777,779],{"class":178,"line":227},[176,759,710],{"class":555},[176,761,559],{"class":223},[176,763,562],{"class":223},[176,765,717],{"class":186},[176,767,562],{"class":223},[176,769,269],{"class":223},[176,771,611],{"class":223},[176,773,774],{"class":186},"user.location.address.postalcode",[176,776,562],{"class":223},[176,778,722],{"class":223},[176,780,781],{"class":216}," \u002F\u002F 깊게 중첩된 user.location.address 관계의 postalcode 필드\n",[176,783,784],{"class":178,"line":246},[176,785,413],{"class":223},[157,787,789],{"id":788},"훅-메서드-시그니처","훅 메서드 시그니처",[162,791,792],{},"이제 연관관계 컨트롤러의 훅 메서드에 부모 엔티티가 전달됩니다. 예:",[166,794,796],{"className":419,"code":795,"language":183,"meta":171,"style":171},"protected function afterSave(Request $request, Model $parentEntity, Model $entity)\n",[173,797,798],{"__ignoreMap":171},[176,799,800,803,805,808,811,814,817,820,822,825,827,830,832,834,836,839],{"class":178,"line":179},[176,801,802],{"class":233},"protected",[176,804,532],{"class":233},[176,806,807],{"class":535}," afterSave",[176,809,810],{"class":223},"(",[176,812,813],{"class":182},"Request",[176,815,816],{"class":223}," $",[176,818,819],{"class":430},"request",[176,821,269],{"class":223},[176,823,824],{"class":182}," Model",[176,826,816],{"class":223},[176,828,829],{"class":430},"parentEntity",[176,831,269],{"class":223},[176,833,824],{"class":182},[176,835,816],{"class":223},[176,837,838],{"class":430},"entity",[176,840,841],{"class":223},")\n",[157,843,845],{"id":844},"기본-인증-가드-결정","기본 인증 가드 결정",[162,847,848,849,852,853,856],{},"이제 기본 인증 가드는 ",[173,850,851],{},"orion.php"," 설정 파일의 ",[173,854,855],{},"auth.guard"," 키에서 결정됩니다.",[162,858,859,860,863],{},"인증 가드나 사용자 결정을 더 세밀하게 제어해야 하는 경우, 여전히 컨트롤러에서 ",[173,861,862],{},"resolveUser"," 메서드를 오버라이드할 수 있습니다.",[157,865,867,870,871,874],{"id":866},"ilike-및-not-ilike-연산자-지원",[173,868,869],{},"ilike"," 및 ",[173,872,873],{},"not ilike"," 연산자 지원",[166,876,878],{"className":207,"code":877,"language":209,"meta":171,"style":171},"\u002F\u002F (POST) https:\u002F\u002Fmyapp.com\u002Fapi\u002Fposts\u002Fsearch\n{\n    \"filters\" : [\n        {\"field\" : \"title\", \"operator\" : \"ilike\", \"value\" : \"example post\"},\n    ]\n}\n",[173,879,880,884,888,900,954,958],{"__ignoreMap":171},[176,881,882],{"class":178,"line":179},[176,883,217],{"class":216},[176,885,886],{"class":178,"line":220},[176,887,224],{"class":223},[176,889,890,892,894,896,898],{"class":178,"line":227},[176,891,230],{"class":223},[176,893,234],{"class":233},[176,895,237],{"class":223},[176,897,240],{"class":223},[176,899,243],{"class":223},[176,901,902,904,906,908,910,912,914,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945,947,950,952],{"class":178,"line":246},[176,903,249],{"class":223},[176,905,237],{"class":223},[176,907,254],{"class":182},[176,909,237],{"class":223},[176,911,240],{"class":223},[176,913,261],{"class":223},[176,915,916],{"class":186},"title",[176,918,237],{"class":223},[176,920,269],{"class":223},[176,922,261],{"class":223},[176,924,274],{"class":182},[176,926,237],{"class":223},[176,928,240],{"class":223},[176,930,261],{"class":223},[176,932,869],{"class":186},[176,934,237],{"class":223},[176,936,269],{"class":223},[176,938,261],{"class":223},[176,940,292],{"class":182},[176,942,237],{"class":223},[176,944,240],{"class":223},[176,946,261],{"class":223},[176,948,949],{"class":186},"example post",[176,951,237],{"class":223},[176,953,401],{"class":223},[176,955,956],{"class":178,"line":302},[176,957,407],{"class":223},[176,959,960],{"class":178,"line":308},[176,961,413],{"class":223},[152,963,965],{"id":964},"업그레이드-가이드","업그레이드 가이드",[162,967,968],{},"이 가이드는 Laravel Orion을 v1.x에서 v2.x로 업그레이드하는 과정을 다룹니다.",[157,970,972],{"id":971},"php-73-필요","PHP 7.3 필요",[162,974,975],{},"최소 PHP 버전이 7.3.0으로 상향되었습니다.",[157,977,979],{"id":978},"의존성-업데이트","의존성 업데이트",[162,981,982,985],{},[173,983,984],{},"composer.json"," 파일에서 다음 의존성을 업데이트하세요.",[987,988,989,999],"ul",{},[990,991,992,994,995,998],"li",{},[173,993,183],{},"를 ",[173,996,997],{},">=7.3","으로",[990,1000,1001,1004,1005,998],{},[173,1002,1003],{},"tailflow\u002Flaravel-orion","을 ",[173,1006,1007],{},"^2.0",[157,1009,1011],{"id":1010},"설정-파일-퍼블리싱","설정 파일 퍼블리싱",[162,1013,1014,1015,1017],{},"이번 릴리스에서는 ",[173,1016,851],{}," 설정 파일이 도입되어, 기본 인증 드라이버와 명세 생성에 사용되는 API 정보를 커스터마이징할 수 있습니다.",[162,1019,1020],{},"설정 파일을 퍼블리싱하려면 다음 명령어를 실행하세요.",[166,1022,1024],{"className":168,"code":1023,"language":170,"meta":171,"style":171},"php artisan vendor:publish --tag=orion-config\n",[173,1025,1026],{"__ignoreMap":171},[176,1027,1028,1030,1032,1035],{"class":178,"line":179},[176,1029,183],{"class":182},[176,1031,187],{"class":186},[176,1033,1034],{"class":186}," vendor:publish",[176,1036,1037],{"class":186}," --tag=orion-config\n",[157,1039,1041],{"id":1040},"허용-목록-메서드-시그니처","허용 목록 메서드 시그니처",[162,1043,1044,1045,1047],{},"다음 메서드가 ",[173,1046,691],{},"으로 변경되었습니다.",[987,1049,1050,1055,1060,1065,1070,1075],{},[990,1051,1052],{},[173,1053,1054],{},"exposedScopes",[990,1056,1057],{},[173,1058,1059],{},"filterableBy",[990,1061,1062],{},[173,1063,1064],{},"searchableBy",[990,1066,1067],{},[173,1068,1069],{},"sortableBy",[990,1071,1072],{},[173,1073,1074],{},"includes",[990,1076,1077],{},[173,1078,1079],{},"alwaysIncludes",[162,1081,1082],{},"이 메서드들을 오버라이드한 경우, 컨트롤러를 그에 맞게 업데이트하세요.",[157,1084,789],{"id":1085},"훅-메서드-시그니처-1",[162,1087,1088,1089,1092],{},"2.0 릴리스부터 훅 메서드에 부모 엔티티가 전달됩니다. 훅 메서드를 오버라이드한 경우, ",[1090,1091,24],"em",{}," 컨트롤러를 그에 맞게 업데이트하세요.",[162,1094,1095],{},"예시는 다음과 같습니다.",[162,1097,1098],{},[1099,1100,1101],"strong",{},"2.0 이전",[166,1103,1105],{"className":419,"code":1104,"language":183,"meta":171,"style":171},"protected function afterSave(Request $request, Model $entity)\n",[173,1106,1107],{"__ignoreMap":171},[176,1108,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131],{"class":178,"line":179},[176,1110,802],{"class":233},[176,1112,532],{"class":233},[176,1114,807],{"class":535},[176,1116,810],{"class":223},[176,1118,813],{"class":182},[176,1120,816],{"class":223},[176,1122,819],{"class":430},[176,1124,269],{"class":223},[176,1126,824],{"class":182},[176,1128,816],{"class":223},[176,1130,838],{"class":430},[176,1132,841],{"class":223},[162,1134,1135],{},[1099,1136,1137],{},"2.0 이후",[166,1139,1140],{"className":419,"code":795,"language":183,"meta":171,"style":171},[173,1141,1142],{"__ignoreMap":171},[176,1143,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174],{"class":178,"line":179},[176,1145,802],{"class":233},[176,1147,532],{"class":233},[176,1149,807],{"class":535},[176,1151,810],{"class":223},[176,1153,813],{"class":182},[176,1155,816],{"class":223},[176,1157,819],{"class":430},[176,1159,269],{"class":223},[176,1161,824],{"class":182},[176,1163,816],{"class":223},[176,1165,829],{"class":430},[176,1167,269],{"class":223},[176,1169,824],{"class":182},[176,1171,816],{"class":223},[176,1173,838],{"class":430},[176,1175,841],{"class":223},[1177,1178,1179],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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":171,"searchDepth":179,"depth":220,"links":1181},[1182,1191],{"id":154,"depth":220,"text":155,"children":1183},[1184,1185,1186,1187,1188,1189],{"id":159,"depth":227,"text":160},{"id":200,"depth":227,"text":201},{"id":677,"depth":227,"text":678},{"id":788,"depth":227,"text":789},{"id":844,"depth":227,"text":845},{"id":866,"depth":227,"text":1190},"ilike 및 not ilike 연산자 지원",{"id":964,"depth":220,"text":965,"children":1192},[1193,1194,1195,1196,1197],{"id":971,"depth":227,"text":972},{"id":978,"depth":227,"text":979},{"id":1010,"depth":227,"text":1011},{"id":1040,"depth":227,"text":1041},{"id":1085,"depth":227,"text":789},"Orion for Laravel 2.0의 변경 사항과 새로운 기능을 알아봅니다.","md",null,{},{"title":12,"description":1198},"pya60UTyj7J4cPch3cz7vy5Z-kaimP6_2zgSYj7mADY",[1205,1207],{"title":10,"path":6,"stem":7,"description":1206,"children":-1},"Orion for Laravel 문서에 오신 것을 환영합니다.",{"title":16,"path":17,"stem":18,"description":1208,"children":-1},"Orion 사용을 시작하기 위한 첫 단계를 안내합니다.",{"id":1210,"title":1211,"body":1212,"description":2103,"extension":1199,"links":1200,"meta":2104,"navigation":436,"path":2105,"seo":2106,"stem":2107,"__hash__":2108},"docs_en\u002F1.guide\u002F00.prologue.md","Prologue",{"type":149,"value":1213,"toc":2085},[1214,1218,1222,1225,1237,1245,1249,1252,1414,1417,1624,1628,1631,1675,1678,1730,1734,1737,1775,1779,1788,1794,1803,1887,1891,1894,1898,1901,1905,1911,1926,1930,1936,1939,1953,1957,1963,1989,1992,1995,2002,2005,2010,2040,2045,2083],[152,1215,1217],{"id":1216},"release-notes","Release Notes",[157,1219,1221],{"id":1220},"openapi-specifications-generation","OpenAPI Specifications Generation",[162,1223,1224],{},"Now you can generate OpenAPI specifications automatically for all Orion-powered endpoints, simply by running the following command:",[166,1226,1227],{"className":168,"code":169,"language":170,"meta":171,"style":171},[173,1228,1229],{"__ignoreMap":171},[176,1230,1231,1233,1235],{"class":178,"line":179},[176,1232,183],{"class":182},[176,1234,187],{"class":186},[176,1236,190],{"class":186},[162,1238,1239,1240,1244],{},"You can learn more about this feature in the ",[195,1241,1243],{"href":1242},"\u002Fguide\u002Fspecifications","Specifications"," section of this guide.",[157,1246,1248],{"id":1247},"json-fields-search","JSON Fields Search",[162,1250,1251],{},"The 2.0 release enables even greater search capabilities by introducing support for JSON fields.",[166,1253,1254],{"className":207,"code":208,"language":209,"meta":171,"style":171},[173,1255,1256,1260,1264,1276,1322,1326,1338,1354,1358,1370,1406,1410],{"__ignoreMap":171},[176,1257,1258],{"class":178,"line":179},[176,1259,217],{"class":216},[176,1261,1262],{"class":178,"line":220},[176,1263,224],{"class":223},[176,1265,1266,1268,1270,1272,1274],{"class":178,"line":227},[176,1267,230],{"class":223},[176,1269,234],{"class":233},[176,1271,237],{"class":223},[176,1273,240],{"class":223},[176,1275,243],{"class":223},[176,1277,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320],{"class":178,"line":246},[176,1279,249],{"class":223},[176,1281,237],{"class":223},[176,1283,254],{"class":182},[176,1285,237],{"class":223},[176,1287,240],{"class":223},[176,1289,261],{"class":223},[176,1291,264],{"class":186},[176,1293,237],{"class":223},[176,1295,269],{"class":223},[176,1297,261],{"class":223},[176,1299,274],{"class":182},[176,1301,237],{"class":223},[176,1303,240],{"class":223},[176,1305,261],{"class":223},[176,1307,283],{"class":186},[176,1309,237],{"class":223},[176,1311,269],{"class":223},[176,1313,261],{"class":223},[176,1315,292],{"class":182},[176,1317,237],{"class":223},[176,1319,240],{"class":223},[176,1321,299],{"class":223},[176,1323,1324],{"class":178,"line":302},[176,1325,305],{"class":223},[176,1327,1328,1330,1332,1334,1336],{"class":178,"line":308},[176,1329,230],{"class":223},[176,1331,313],{"class":233},[176,1333,237],{"class":223},[176,1335,240],{"class":223},[176,1337,320],{"class":223},[176,1339,1340,1342,1344,1346,1348,1350,1352],{"class":178,"line":323},[176,1341,326],{"class":223},[176,1343,292],{"class":182},[176,1345,237],{"class":223},[176,1347,240],{"class":223},[176,1349,261],{"class":223},[176,1351,337],{"class":186},[176,1353,340],{"class":223},[176,1355,1356],{"class":178,"line":343},[176,1357,346],{"class":223},[176,1359,1360,1362,1364,1366,1368],{"class":178,"line":349},[176,1361,230],{"class":223},[176,1363,354],{"class":233},[176,1365,237],{"class":223},[176,1367,240],{"class":223},[176,1369,243],{"class":223},[176,1371,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404],{"class":178,"line":363},[176,1373,249],{"class":223},[176,1375,237],{"class":223},[176,1377,254],{"class":182},[176,1379,237],{"class":223},[176,1381,240],{"class":223},[176,1383,261],{"class":223},[176,1385,378],{"class":186},[176,1387,237],{"class":223},[176,1389,269],{"class":223},[176,1391,261],{"class":223},[176,1393,387],{"class":182},[176,1395,237],{"class":223},[176,1397,240],{"class":223},[176,1399,261],{"class":223},[176,1401,396],{"class":186},[176,1403,237],{"class":223},[176,1405,401],{"class":223},[176,1407,1408],{"class":178,"line":404},[176,1409,407],{"class":223},[176,1411,1412],{"class":178,"line":410},[176,1413,413],{"class":223},[162,1415,1416],{},"To whitelist a field inside a json field, use arrow notation:",[166,1418,1420],{"className":419,"code":1419,"language":183,"meta":171,"style":171},"\u003C?php\n\nnamespace App\\Http\\Controllers\\Api;\n\nuse Orion\\Http\\Controllers\\Controller;\n\n\u002F\u002F options field here is a json\u002Fjsonb field of the Post model\n\u002F\u002F visible and key fields are fields inside that json\u002Fjsonb field \nclass PostsController extends Controller\n{\n    public function filterableBy() : array\n    {\n        return ['options->visible'];\n    }\n\n    public function searchableBy() : array\n    {\n        return [ 'options->key'];\n    }\n\n    public function sortableBy() : array\n    {\n         return ['options->key'];\n    }\n}\n",[173,1421,1422,1428,1432,1452,1456,1476,1480,1485,1490,1500,1504,1518,1522,1536,1540,1544,1558,1562,1576,1580,1584,1598,1602,1616,1620],{"__ignoreMap":171},[176,1423,1424,1426],{"class":178,"line":179},[176,1425,427],{"class":223},[176,1427,431],{"class":430},[176,1429,1430],{"class":178,"line":220},[176,1431,437],{"emptyLinePlaceholder":436},[176,1433,1434,1436,1438,1440,1442,1444,1446,1448,1450],{"class":178,"line":227},[176,1435,443],{"class":442},[176,1437,446],{"class":182},[176,1439,449],{"class":223},[176,1441,452],{"class":182},[176,1443,449],{"class":223},[176,1445,457],{"class":182},[176,1447,449],{"class":223},[176,1449,462],{"class":182},[176,1451,465],{"class":223},[176,1453,1454],{"class":178,"line":246},[176,1455,437],{"emptyLinePlaceholder":436},[176,1457,1458,1460,1462,1464,1466,1468,1470,1472,1474],{"class":178,"line":302},[176,1459,474],{"class":442},[176,1461,477],{"class":430},[176,1463,449],{"class":223},[176,1465,452],{"class":430},[176,1467,449],{"class":223},[176,1469,457],{"class":430},[176,1471,449],{"class":223},[176,1473,490],{"class":430},[176,1475,465],{"class":223},[176,1477,1478],{"class":178,"line":308},[176,1479,437],{"emptyLinePlaceholder":436},[176,1481,1482],{"class":178,"line":323},[176,1483,1484],{"class":216},"\u002F\u002F options field here is a json\u002Fjsonb field of the Post model\n",[176,1486,1487],{"class":178,"line":343},[176,1488,1489],{"class":216},"\u002F\u002F visible and key fields are fields inside that json\u002Fjsonb field \n",[176,1491,1492,1494,1496,1498],{"class":178,"line":349},[176,1493,511],{"class":233},[176,1495,514],{"class":182},[176,1497,517],{"class":233},[176,1499,520],{"class":182},[176,1501,1502],{"class":178,"line":363},[176,1503,224],{"class":223},[176,1505,1506,1508,1510,1512,1514,1516],{"class":178,"line":404},[176,1507,529],{"class":233},[176,1509,532],{"class":233},[176,1511,536],{"class":535},[176,1513,539],{"class":223},[176,1515,240],{"class":223},[176,1517,544],{"class":442},[176,1519,1520],{"class":178,"line":410},[176,1521,549],{"class":223},[176,1523,1524,1526,1528,1530,1532,1534],{"class":178,"line":552},[176,1525,556],{"class":555},[176,1527,559],{"class":223},[176,1529,562],{"class":223},[176,1531,264],{"class":186},[176,1533,562],{"class":223},[176,1535,569],{"class":223},[176,1537,1538],{"class":178,"line":572},[176,1539,575],{"class":223},[176,1541,1542],{"class":178,"line":578},[176,1543,437],{"emptyLinePlaceholder":436},[176,1545,1546,1548,1550,1552,1554,1556],{"class":178,"line":583},[176,1547,529],{"class":233},[176,1549,532],{"class":233},[176,1551,590],{"class":535},[176,1553,539],{"class":223},[176,1555,240],{"class":223},[176,1557,544],{"class":442},[176,1559,1560],{"class":178,"line":599},[176,1561,549],{"class":223},[176,1563,1564,1566,1568,1570,1572,1574],{"class":178,"line":604},[176,1565,556],{"class":555},[176,1567,559],{"class":223},[176,1569,611],{"class":223},[176,1571,378],{"class":186},[176,1573,562],{"class":223},[176,1575,569],{"class":223},[176,1577,1578],{"class":178,"line":620},[176,1579,575],{"class":223},[176,1581,1582],{"class":178,"line":625},[176,1583,437],{"emptyLinePlaceholder":436},[176,1585,1586,1588,1590,1592,1594,1596],{"class":178,"line":630},[176,1587,529],{"class":233},[176,1589,532],{"class":233},[176,1591,637],{"class":535},[176,1593,539],{"class":223},[176,1595,240],{"class":223},[176,1597,544],{"class":442},[176,1599,1600],{"class":178,"line":646},[176,1601,549],{"class":223},[176,1603,1604,1606,1608,1610,1612,1614],{"class":178,"line":651},[176,1605,654],{"class":555},[176,1607,559],{"class":223},[176,1609,562],{"class":223},[176,1611,378],{"class":186},[176,1613,562],{"class":223},[176,1615,569],{"class":223},[176,1617,1618],{"class":178,"line":667},[176,1619,575],{"class":223},[176,1621,1622],{"class":178,"line":672},[176,1623,413],{"class":223},[157,1625,1627],{"id":1626},"nested-relations-search","Nested Relations Search",[162,1629,1630],{},"Previously, it was possible to search on relation fields one-level deep only, e.g.:",[166,1632,1634],{"className":419,"code":1633,"language":183,"meta":171,"style":171},"public function searchableBy() : array\n{\n    return ['user.name']; \u002F\u002F name field of the user relation\n}\n",[173,1635,1636,1650,1654,1671],{"__ignoreMap":171},[176,1637,1638,1640,1642,1644,1646,1648],{"class":178,"line":179},[176,1639,691],{"class":233},[176,1641,532],{"class":233},[176,1643,590],{"class":535},[176,1645,539],{"class":223},[176,1647,240],{"class":223},[176,1649,544],{"class":442},[176,1651,1652],{"class":178,"line":220},[176,1653,224],{"class":223},[176,1655,1656,1658,1660,1662,1664,1666,1668],{"class":178,"line":227},[176,1657,710],{"class":555},[176,1659,559],{"class":223},[176,1661,562],{"class":223},[176,1663,717],{"class":186},[176,1665,562],{"class":223},[176,1667,722],{"class":223},[176,1669,1670],{"class":216}," \u002F\u002F name field of the user relation\n",[176,1672,1673],{"class":178,"line":246},[176,1674,413],{"class":223},[162,1676,1677],{},"This release makes it possible to perform search on deeply nested relations:",[166,1679,1681],{"className":419,"code":1680,"language":183,"meta":171,"style":171},"public function searchableBy() : array\n{\n    return ['user.name', 'user.location.address.postalcode']; \u002F\u002F postalcode field of the deeply nested user.location.address relation\n}\n",[173,1682,1683,1697,1701,1726],{"__ignoreMap":171},[176,1684,1685,1687,1689,1691,1693,1695],{"class":178,"line":179},[176,1686,691],{"class":233},[176,1688,532],{"class":233},[176,1690,590],{"class":535},[176,1692,539],{"class":223},[176,1694,240],{"class":223},[176,1696,544],{"class":442},[176,1698,1699],{"class":178,"line":220},[176,1700,224],{"class":223},[176,1702,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723],{"class":178,"line":227},[176,1704,710],{"class":555},[176,1706,559],{"class":223},[176,1708,562],{"class":223},[176,1710,717],{"class":186},[176,1712,562],{"class":223},[176,1714,269],{"class":223},[176,1716,611],{"class":223},[176,1718,774],{"class":186},[176,1720,562],{"class":223},[176,1722,722],{"class":223},[176,1724,1725],{"class":216}," \u002F\u002F postalcode field of the deeply nested user.location.address relation\n",[176,1727,1728],{"class":178,"line":246},[176,1729,413],{"class":223},[157,1731,1733],{"id":1732},"hook-methods-signature","Hook Methods Signature",[162,1735,1736],{},"A parent entity is now passed into the hook methods of relationship controllers, e.g.:",[166,1738,1739],{"className":419,"code":795,"language":183,"meta":171,"style":171},[173,1740,1741],{"__ignoreMap":171},[176,1742,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773],{"class":178,"line":179},[176,1744,802],{"class":233},[176,1746,532],{"class":233},[176,1748,807],{"class":535},[176,1750,810],{"class":223},[176,1752,813],{"class":182},[176,1754,816],{"class":223},[176,1756,819],{"class":430},[176,1758,269],{"class":223},[176,1760,824],{"class":182},[176,1762,816],{"class":223},[176,1764,829],{"class":430},[176,1766,269],{"class":223},[176,1768,824],{"class":182},[176,1770,816],{"class":223},[176,1772,838],{"class":430},[176,1774,841],{"class":223},[157,1776,1778],{"id":1777},"default-auth-guard-resolution","Default Auth Guard Resolution",[162,1780,1781,1782,1784,1785,1787],{},"The default auth guard is now resolved from the ",[173,1783,851],{}," config's ",[173,1786,855],{}," key.",[162,1789,1790,1791,1793],{},"You can still override the ",[173,1792,862],{}," method on a controller, if you need granular control over the auth guard or user resolution.",[157,1795,1797,1799,1800,1802],{"id":1796},"ilike-and-not-ilike-operators-support",[173,1798,869],{}," and ",[173,1801,873],{}," Operators Support",[166,1804,1805],{"className":207,"code":877,"language":209,"meta":171,"style":171},[173,1806,1807,1811,1815,1827,1879,1883],{"__ignoreMap":171},[176,1808,1809],{"class":178,"line":179},[176,1810,217],{"class":216},[176,1812,1813],{"class":178,"line":220},[176,1814,224],{"class":223},[176,1816,1817,1819,1821,1823,1825],{"class":178,"line":227},[176,1818,230],{"class":223},[176,1820,234],{"class":233},[176,1822,237],{"class":223},[176,1824,240],{"class":223},[176,1826,243],{"class":223},[176,1828,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877],{"class":178,"line":246},[176,1830,249],{"class":223},[176,1832,237],{"class":223},[176,1834,254],{"class":182},[176,1836,237],{"class":223},[176,1838,240],{"class":223},[176,1840,261],{"class":223},[176,1842,916],{"class":186},[176,1844,237],{"class":223},[176,1846,269],{"class":223},[176,1848,261],{"class":223},[176,1850,274],{"class":182},[176,1852,237],{"class":223},[176,1854,240],{"class":223},[176,1856,261],{"class":223},[176,1858,869],{"class":186},[176,1860,237],{"class":223},[176,1862,269],{"class":223},[176,1864,261],{"class":223},[176,1866,292],{"class":182},[176,1868,237],{"class":223},[176,1870,240],{"class":223},[176,1872,261],{"class":223},[176,1874,949],{"class":186},[176,1876,237],{"class":223},[176,1878,401],{"class":223},[176,1880,1881],{"class":178,"line":302},[176,1882,407],{"class":223},[176,1884,1885],{"class":178,"line":308},[176,1886,413],{"class":223},[152,1888,1890],{"id":1889},"upgrade-guide","Upgrade Guide",[162,1892,1893],{},"This guide covers the process of upgrading Laravel Orion from v1.x to v2.x.",[157,1895,1897],{"id":1896},"php-73-required","PHP 7.3 Required",[162,1899,1900],{},"The new minimum PHP version is now 7.3.0.",[157,1902,1904],{"id":1903},"updating-dependencies","Updating Dependencies",[162,1906,1907,1908,1910],{},"Update the following dependencies in your ",[173,1909,984],{}," file:",[987,1912,1913,1920],{},[990,1914,1915,1917,1918],{},[173,1916,183],{}," to ",[173,1919,997],{},[990,1921,1922,1917,1924],{},[173,1923,1003],{},[173,1925,1007],{},[157,1927,1929],{"id":1928},"publishing-config","Publishing Config",[162,1931,1932,1933,1935],{},"The release introduces the ",[173,1934,851],{}," config file, allowing you to customize the default auth driver and information about the API for specifications generation.",[162,1937,1938],{},"To publish the config, run the following command:",[166,1940,1941],{"className":168,"code":1023,"language":170,"meta":171,"style":171},[173,1942,1943],{"__ignoreMap":171},[176,1944,1945,1947,1949,1951],{"class":178,"line":179},[176,1946,183],{"class":182},[176,1948,187],{"class":186},[176,1950,1034],{"class":186},[176,1952,1037],{"class":186},[157,1954,1956],{"id":1955},"whitelisting-methods-signature","Whitelisting Methods Signature",[162,1958,1959,1960,1962],{},"The following methods have been made ",[173,1961,691],{},":",[987,1964,1965,1969,1973,1977,1981,1985],{},[990,1966,1967],{},[173,1968,1054],{},[990,1970,1971],{},[173,1972,1059],{},[990,1974,1975],{},[173,1976,1064],{},[990,1978,1979],{},[173,1980,1069],{},[990,1982,1983],{},[173,1984,1074],{},[990,1986,1987],{},[173,1988,1079],{},[162,1990,1991],{},"Please update your controllers accordingly, should you have any of these methods overridden.",[157,1993,1733],{"id":1994},"hook-methods-signature-1",[162,1996,1997,1998,2001],{},"Starting with 2.0 release, a parent entity is passed into the hook methods. Please update your ",[1090,1999,2000],{},"relationship"," controllers accordingly, should you have any hook methods overridden.",[162,2003,2004],{},"Here is an example:",[162,2006,2007],{},[1099,2008,2009],{},"Before 2.0",[166,2011,2012],{"className":419,"code":1104,"language":183,"meta":171,"style":171},[173,2013,2014],{"__ignoreMap":171},[176,2015,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038],{"class":178,"line":179},[176,2017,802],{"class":233},[176,2019,532],{"class":233},[176,2021,807],{"class":535},[176,2023,810],{"class":223},[176,2025,813],{"class":182},[176,2027,816],{"class":223},[176,2029,819],{"class":430},[176,2031,269],{"class":223},[176,2033,824],{"class":182},[176,2035,816],{"class":223},[176,2037,838],{"class":430},[176,2039,841],{"class":223},[162,2041,2042],{},[1099,2043,2044],{},"After 2.0",[166,2046,2047],{"className":419,"code":795,"language":183,"meta":171,"style":171},[173,2048,2049],{"__ignoreMap":171},[176,2050,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079,2081],{"class":178,"line":179},[176,2052,802],{"class":233},[176,2054,532],{"class":233},[176,2056,807],{"class":535},[176,2058,810],{"class":223},[176,2060,813],{"class":182},[176,2062,816],{"class":223},[176,2064,819],{"class":430},[176,2066,269],{"class":223},[176,2068,824],{"class":182},[176,2070,816],{"class":223},[176,2072,829],{"class":430},[176,2074,269],{"class":223},[176,2076,824],{"class":182},[176,2078,816],{"class":223},[176,2080,838],{"class":430},[176,2082,841],{"class":223},[1177,2084,1179],{},{"title":171,"searchDepth":179,"depth":220,"links":2086},[2087,2096],{"id":1216,"depth":220,"text":1217,"children":2088},[2089,2090,2091,2092,2093,2094],{"id":1220,"depth":227,"text":1221},{"id":1247,"depth":227,"text":1248},{"id":1626,"depth":227,"text":1627},{"id":1732,"depth":227,"text":1733},{"id":1777,"depth":227,"text":1778},{"id":1796,"depth":227,"text":2095},"ilike and not ilike Operators Support",{"id":1889,"depth":220,"text":1890,"children":2097},[2098,2099,2100,2101,2102],{"id":1896,"depth":227,"text":1897},{"id":1903,"depth":227,"text":1904},{"id":1928,"depth":227,"text":1929},{"id":1955,"depth":227,"text":1956},{"id":1994,"depth":227,"text":1733},"Learn about changes and new features in Orion for Laravel 2.0.",{},"\u002Fguide\u002Fprologue",{"title":1211,"description":2103},"1.guide\u002F00.prologue","rImzujtRi5Rbqg306dcL2LQhj_Bq_ShPKR8e0fnQGbk",1784394457824]