我的程序是这样的=
$listreq2 = OutboundRequest::with('outboundmaterialrequest')
->whereIn('id', $outboundIds)
->whereHas('outboundmaterialrequest', function ($query) use ($ids) {
$query->whereIn('id', $ids);
})->get();
为什么我的数据过滤器
->whereHas('outbound material request', function ($query) use ($ids) {
不起作用 $ids 的内容例如 = 2,3
但所有出库材料请求数据均出现
您编写了错误的查询,您正在使用 with 子句,该子句将始终返回数据,并且过滤器在这种情况下将无法按照您的预期工作。你的查询应该是这样的。
$listreq2 = OutboundRequest::query()
->whereIn('id', $outboundIds)
->withWhereHas('outboundmaterialrequest', function ($query) use ($ids) {
$query->whereIn('id', $ids);
})->get();