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