【发布时间】:2013-03-01 22:14:55
【问题描述】:
我正在尝试使用 eloquent 搜索两个可选表:
$users = User::where('ProfileType', '=', 2)
->where(function($query) {
$query->where('BandName', 'LIKE', "%$artist%");
$query->or_where('Genre', 'LIKE', "%$genre%");
})->get();
当用户进行空搜索时,这适用于返回所有结果,但我不确定如何调整它以在存在乐队名称时搜索乐队名称,反之亦然。
【问题讨论】:
-
那么查询是否总是:WHERE ProfileType = 2 AND (BandName = 'foo' OR Genre = 'bar')?我试图弄清楚哪些搜索值将始终存在,哪些可能不存在。
-
是的,ProfileType 将始终存在,但 BandName 和 Genre 都是可选的,甚至可以留空。谢谢