php - 如何在 Laravel 数组中获取指定产品
问题描述
我试图获得那些具有 css 和 html 技术的产品。请注意,(html 和 css)不是唯一可以使用的参数。有时可能更多,例如 ['java','html,'python',。 ..] 等等
在这个结果中,我有 2 个产品,但应该是 1 个,带有 (id:1) 的那个,因为只有这个产品同时具有(html 和 css)技术
[
{
"id": 1,
"title": "First Product",
"prte": [
{
"product_id": 1,
"technology_id": 1,
"technology": {
"id": 1,
"title_en": "HTML"
}
},
{
"product_id": 1,
"technology_id": 2,
"technology": {
"id": 2,
"title_en": "CSS"
}
}
]
},
{
"id": 2,
"title": "Second Product",
"prte": [
{
"product_id": 2,
"technology_id": 1,
"technology": {
"id": 1,
"title_en": "HTML"
}
}
]
}
]
这个是控制器
$products = Product::with(['prte' => function ($query){
$query->with(['technology' => function ($query){
$query->whereIn('title_en',['HTML','CSS']);
}]);
}])->get();
return view('find',compact('products'));
希望你们能帮助我
解决方案
试试 where 而不是 whereIn。
$products = Product::with(['prte' => function ($query){
$query->with(['technology' => function ($query){
$query->where('title_en','HTML')->where('title_en','CSS');
}]);
}])->get();
return view('find',compact('products'));
推荐阅读
- google-app-engine - 为什么要从 Objectify v5 升级到 v6?
- javascript - 回调到一个文件然后 JSON 这个文件
- xamarin.android - 搜索栏,如 Google 搜索 xamarin Android 原生应用
- node.js - ReactJs 和 Passport Auth
- c++ - 如何存储/加载大型 C++ 容器
- react-native - 切换标签时如何动态更改标题导航标题
- php - Ionic 3 不在 iOS 上发送会话 cookie
- ios - 持续时间动画与 UILabel 的行为怪异
- sql - SQL 返回显示不正确
- excel - Microsoft Excel 中单元格值的多个条件