首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我的查询被设置为在Laravel中不等于foo时,我为什么会得到foo结果?

当我的查询被设置为在Laravel中不等于foo时,我为什么会得到foo结果?
EN

Stack Overflow用户
提问于 2015-09-10 03:06:02
回答 1查看 46关注 0票数 0
代码语言:javascript
复制
rows = Campaign::with('limitations');
$rows->whereHas('limitations', function($q){
       $q->where('country_id', '!=', Auth::user->countryId)->where('type', 'foo2');
});

尽管有线

代码语言:javascript
复制
$q->where('country_id', '!=', Auth::user->countryId)

我仍然有行有'foo‘在其中。我试过使用'<>‘和'!=’,但两者都不起作用。我的代码行有什么问题?或者这是一只猛禽虫?

更新:

如果我将代码更改为

代码语言:javascript
复制
$q->where('country_id', '!=', Auth::user->countryId)->where('type', '!=', 'foo2');

我将得到不是‘foo2 2’的结果,但它不适用于Auth::user->country_id。

表结构:

Campaign id,has_limit

用户 id,countryId

Campaign_has_limitations id,campaign_id,country_id,类型

EN

回答 1

Stack Overflow用户

发布于 2015-09-10 05:29:31

试试这个:

代码语言:javascript
复制
$countryid = Auth::user->countryId;
rows = Campaign::whereHas('limitations', function($q) use ($countryid) {
   $q->where('country_id', '!=', $countryid)
     ->where('type', '!=', 'foo2');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32492442

复制
相关文章

相似问题

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