Graphql 使用第一个查询结果作为第二个查询的条件
我有两个这样的问题Graphql 使用第一个查询结果作为第二个查询的条件,graphql,Graphql,我有两个这样的问题 const featuredArticles = gql ` query featureArticles() { articles(where: {limit: 4, feature: true, sort: "published_at:desc") { id } } `; 第一个查询将获得4篇最新特色文章的ID,第二个查询将获得数据库中所有可用文章的ID。现在,我试图更改第二个查询,以从第一个查询中获取除4篇文章以外的所有文章,但我不知
const featuredArticles = gql `
query featureArticles() {
articles(where: {limit: 4, feature: true, sort: "published_at:desc") {
id
}
}
`;
第一个查询将获得4篇最新特色文章的ID,第二个查询将获得数据库中所有可用文章的ID。现在,我试图更改第二个查询,以从第一个查询中获取除4篇文章以外的所有文章,但我不知道如何使用结果作为条件。你们能给我一些提示吗?提前谢谢 My index.jsx如下所示:
const Home = () => (
<div style={{
overflowX: 'hidden',
}}
>
let arr=[]
<Query query={FEATURE_ARTICLES_QUERY}>
{({ data: { articles } }) => {
if (!articles.length) {
return null;
}
arr=[articles[0].id,.......,articles[10].id];
return <SectionFeature articles={articles} />;
}}
</Query>
<Query query={ARTICLES_QUERY} id={arr}>
{({ data: { quotes } }) => {
if (!quotes.length) {
return null;
}
return <SectionQuote quotes={quotes} />;
}}
</Query>
</div>
);
export default Home;
const Home=()=>(
设arr=[]
{({data:{articles}}})=>{
如果(!articles.length){
返回null;
}
arr=[articles[0].id,…,articles[10].id];
返回;
}}
{({data:{quotes}}})=>{
如果(!quotes.length){
返回null;
}
返回;
}}
);
导出默认主页;
例如,我想将第一个查询的结果传递给arr[],然后传递给第二个查询。但是数组将在第一次查询结束后立即消失
更新:我已经做到了。非常感谢您的提示ID数组,请登录graphiql/Played。。。。[xxx,yyy]您能告诉我如何将结果传递给数组,然后将该数组传递给另一个查询吗??我是新手,这件事让我很困惑:(获取结果,将id提取到数组中,作为param传递我试图提取结果并保存到数组,如arr=[result[0].id],但当第一个查询结束时,数组将消失。我无法将其传递到第二个查询:(什么env/lang?看起来像js…怎么了?复制的简单值存在,它不是空的ref…控制台记录它…yuo是否检查了如何在graphiql/Played中传递数组[在变量查询中]?
const Home = () => (
<div style={{
overflowX: 'hidden',
}}
>
let arr=[]
<Query query={FEATURE_ARTICLES_QUERY}>
{({ data: { articles } }) => {
if (!articles.length) {
return null;
}
arr=[articles[0].id,.......,articles[10].id];
return <SectionFeature articles={articles} />;
}}
</Query>
<Query query={ARTICLES_QUERY} id={arr}>
{({ data: { quotes } }) => {
if (!quotes.length) {
return null;
}
return <SectionQuote quotes={quotes} />;
}}
</Query>
</div>
);
export default Home;