【发布时间】:2020-04-22 04:27:50
【问题描述】:
这是我的代码:
$prestations = Prestation::with('service','facility','conciergeries.network')
->whereHas('service', function ($query) use ($searchService) {
$query->addSelect('id','name')->where('name', 'regexp', "/$searchService/i");
})
->whereHas('facility', function ($query) use ($searchPartenaire) {
$query->addSelect('id','name')->where('name', 'regexp', "/$searchPartenaire/i");
})
->whereHas('conciergeries.network', function ($query) use ($searchFiliale) {
$query->addSelect('id','name')->where('name', 'regexp', "/$searchFiliale/i");
})
->where('name', 'regexp', "/$search/i")
->orderBy($orderBy, $orderDirection)
->paginate(50);
我只想获取“服务”、“设施”和“conciegeries.network”的名称和 ID。
我尝试使用select('id','name'); 和select(['id','name']); 或addSelect('id','name'); 和pluck('id', 'name');,但我得到了所有数据。
你有替代解决方案吗?
谢谢!
【问题讨论】:
-
我认为选择需要在
with内,而不是whereHas
标签: php laravel eloquent laravel-query-builder