在controller index function
中,我选择了哪些新闻ID与包ID匹配:
$content_pack_news_array = DB::table('content_pack_news')->where('content_pack_id' , $content_pack_id)->get();
使用dd
得到这个结果,我需要访问其中所有元素的news_id
Illuminate\Support\Collection {#3017 ▼
#items: array:2 [▼
0 => {#2376 ▼
+"news_id": 2
+"content_pack_id": 2
}
1 => {#3010 ▼
+"news_id": 4
+"content_pack_id": 2
}
]
}
如何返回与id匹配的数据:
"news_id": 2
"news_id": 4
内部:
$news = News::with(['media', 'assigned_content_packs'])->where('id' , $news_id)->get();
如果我用
$content_pack_news = DB::table('content_pack_news')->where('content_pack_id' , $content_pack_id)->first();
它工作,但它只得到第一个匹配的项目显示。任何帮助表示感谢。
3条答案
按热度按时间kgsdhlau1#
你可以用pluck把身份证取出来。
Pluck与
whereIn()
结合使用效果很好,whereIn()
可以根据数组检查列。ltqd579y2#
您可以使用子查询在单个查询中执行此操作,如下所示:
hgb9j2n63#
如果我纠正你只问第一个问题。
将其更改为get();那么您将获得所有记录。