首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎么能同时在哪里和哪里使用呢?

我怎么能同时在哪里和哪里使用呢?
EN

Stack Overflow用户
提问于 2017-04-26 07:43:46
回答 1查看 321关注 0票数 0

我的查询如下:

代码语言:javascript
复制
$search = $request->get('search');
$search_date = $request->get('search_date');
$store = Store::whereDate('updated_at', $search_date)->orWhereHas('user'), function($query) use ($search) {
    $query->where(function ($q) use($search)
    {
        $q->where('name', 'LIKE', '%',$search.'%');
    });
})->paginate(10);

执行时,没有错误。但是结果与过滤日期不匹配。

当我只使用无所有物的地方时,它与过滤器是匹配的

wheredatewherehas不是可以同时运行的吗?

更新

我有两个输入文本,即输入文本的数据和输入文本的搜索名称。当用户想要进行搜索时,他可以输入更新的日期和输入名称。然后单击搜索按钮。系统会过滤掉它。

EN

回答 1

Stack Overflow用户

发布于 2017-04-26 07:57:52

你用了orWhereHas。如果您想要这两个旅游条件(wheredate和both ),应该使用wherehas而不是orWhereHas

代码语言:javascript
复制
$store = Store::whereDate('updated_at', $search_date)->whereHas('user'), function($query) use ($search) {
    $query->where(function ($q) use($search) {
        $q->where('name', 'LIKE', '%',$search.'%');
    });
})->paginate(10);

换句话说,如果您需要这两种条件都为真,请使用and而不是or (and与laravel隐式)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43627948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档