私はアーティクルの配列を持っていたとします。各アーティクルには1つ以上のイメージオブジェクトが含まれていてもいなくても、mysqlはオブジェクトをグループ化できないので、自分で行う必要があります。だから結果は重複記事オブジェクトの近くにあります...唯一の違いは画像オブジェクトです。 近辺と重複しています。返される結果の唯一の違いはイメージオブジェクトです。どのようにオブジェクトの配列をマージできますか?
私はarticles
の配列をループし、重複したオブジェクトをエリートして、それぞれのarticle
イメージオブジェクトを保持するimages
配列を作成する方法を見つけようとしています。例えば
記事の下に配列を指定:
{ articles: [
{article: {articleId: 10, articleText: 'blah'}, image: {articleId: 10, imageUrl: 'http://differentUrlTooBelow'} },
{article: {articleId: 10, articleText: 'blah'}, image: {articleId: 10, imageUrl: 'http://AnotherUrlDifferentToAbove'} },
{article: {articleId: 11, articleText: 'ajsdnfa'}, image: {articleId: 11, imageUrl: 'http://DifferentUrlTooBelow'} },
{article: {articleId: 11, articleText: 'asfdjnasjdf'}, image: {articleId: 11, imageUrl: 'http://AnotherUrlDifferentToAbove'} },
]}
を私たちは、機能を減らすlodashを使用することができますが、それは最後article (articleId: 11)
を返すように見える...それはイメージですすべてを見つけるように見えるしません。どちらか。各記事の中にイメージ配列を作成するだけです。
{ articles: [
{article: {articleId: 10, articleText: 'blah'},
images: [
{articleId: 10, imageUrl: 'http://differentUrlTooBelow'},
{articleId: 10, imageUrl: 'http://AnotherUrlDifferentToAbove'}
]},
{article: {articleId: 11, articleText: 'blah'},
images: [
{articleId: 11, imageUrl: 'http://differentUrlTooBelow'},
{articleId: 11, imageUrl: 'http://AnotherUrlDifferentToAbove'}
]},
]}
おそらく、[ 'groupBy'](https://lodash.com/docs#groupBy)の線に沿って何かを使用します。 – zzzzBov
イメージオブジェクトの 'articleId'を除外することができます。既に親の 'article'オブジェクトの一部であるため、冗長データのようです。あなたのイメージから来る唯一のデータがあなたが[group_concat](http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group- concat)をmysqlクエリに入れ、その後実際にURLを使用する必要があるときに分割します –