【发布时间】:2020-04-21 21:08:28
【问题描述】:
这里是我的代码:
$prestations = Prestation::with(
[
'service' => function($service) use($searchService) {
$service->select(['id','name'])->where('name', 'regexp', "/$searchService/i");
},
'facility' => function($facility) use($searchPartenaire) {
$facility->select(['id','name'])->where('name', 'regexp', "/$searchPartenaire/i");
}
]
)
->where('name', 'regexp', "/$search/i")
->orderBy($orderBy, $orderDirection)
->simplePaginate(50);
$res = [
'results' => $prestations,
'total' => Prestation::all()->count(),
];
问题在于,在 $searchService 和 $searchPartenaire 上“服务”和“设施”名称不相等的所有数据的输出中,值被替换为“null”。 所以我不想在搜索变量不等于的输出中有值。
谢谢。
【问题讨论】:
-
你的意思是如果$searchService上的$service不相等,那条记录还是会出来,但是名字被null替换了?
-
@TsaiKoga 是的,完全正确!
标签: php laravel eloquent laravel-query-builder