【发布时间】:2021-06-26 20:11:16
【问题描述】:
我有一个没有最后一个 where 子句的查询。但是,不工作。 代码:
$worksheets = Worksheet::withoutGlobalScopes()->selectRaw('COUNT(*)')
->whereColumn('worksheets.partner_id', 'partners.id')
->whereHas('tireServiceItems', function($query) {
$query->where('service_type', 'like', 'szerelés%')->orWhere('service_type', 'like', 'javítás%');
})
->where('service_date', '>=', $from)
->where('service_date', '<=', $to)
->when($partnerId, function($query) use ($partnerId) {
$query->where('partner_id', $partnerId);
})
->whereNull('worksheets.deleted_at');
return Partner::select('*')->addSelect(['worksheets_count' => $worksheets])
->where('worksheets_count', '>', 0)->paginate(20)->map(function($item) {
return [
'partner_id' => $item->id,
'partner_name' => $item->name,
'partner_address' => $item->address(),
'worksheets_count' => $item->worksheets_count,
];
})->toArray();
没有where('worksheet_count', '>', 0) 工作,得到这个错误:
未找到列:1054 'where 子句'中的未知列 'worksheets_count'(SQL:select count() as aggregate from partners where worksheets_count > 0)*
如果你能帮助我,谢谢:)
【问题讨论】: