我试图写一个函数,处理我的网站搜索查询
我有一个名为'unique'的字段,该字段具有此搜索的true或false值。因为此页面将列出非唯一结果,所以我需要它,例如'unique' , '!=', true
我有2个其他字段name, description
,所以当你搜索它返回预期的结果
我已经写了下面的代码,但如果我点击页面上的搜索,它会列出所有的结果,无论是否唯一字段是真或假,如果我搜索的名称或描述,返回的结果忽略了唯一。
$films = Film::when($request->input('unique'), function ($query) {
$query->where('unique', '!=', true);
})
->where('name', 'like', "%$search%")
->orWhere('description', 'like', "%$search%")
->get();
我不是很清楚,当谈到雄辩的问题,所以我可能错过了一些东西在这里。
总结我需要的功能:如果我在搜索框字段中不输入内容进行搜索,则仅返回唯一性为TRUE的记录;如果我在文本字段中搜索名称或描述,则仅返回与输入内容匹配且唯一性为TRUE的记录。
任何反馈将是伟大的,谢谢!
2条答案
按热度按时间bvuwiixz1#
我不知道我是否明白你的问题,但这可能是一个解决你的问题:
这应该会得到所有的电影,其中
'name'
或'description'
匹配您的$search
,也有'unique' === false
。如果
$search === ""
(空),则应获得'unique' === false
所在位置的所有胶片。8fsztsew2#
我不知道我是否明白你的问题,但这可能是一个解决你的问题: