首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在拉拉维尔不存在的地方

在拉拉维尔不存在的地方
EN

Stack Overflow用户
提问于 2018-06-05 19:39:06
回答 1查看 4.6K关注 0票数 2

有人能告诉我在我的laravel查询中可能有什么错误吗?基本上,我想要的是列出一个在另一个表中与id无关的表的记录。我是在Mysql中使用以下查询完成的:选择* FROM item;在不存在的地方选择null (从grades.item_id = item.id和qualifications.user_id =2的条件中选择null);

但是现在我需要用laravel做同样的查询,我尝试了这样做:编迪戈

我得到的是这个语法错误,我已经不知道如何解决了:错误

我非常感谢任何人能告诉我我做错了什么,或者我在Laravel以什么形式提出了这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 01:52:43

您还可以将查询重写为左联接,如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT i.*
FROM item i
LEFT JOIN qualifications q ON q.item_id = i.id  AND q.user_id = 2
WHERE q.item_id IS NULL

在查询生成器中,您可以将它写成

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DB::table('item as i')
    ->select('i.*')
    ->leftJoin('qualifications as q', function ($join) use($user_id) {
        $join->on('q.item_id', '=', 'i.id')
             ->on('q.user_id', '=', $user_id);
    })
    ->whereNull('q.item_id')
    ->get();

我建议你采用的另一种方法是建立你的关系和模型,并以雄辩的方式来做。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Item extends Model
{
    public function qualifications()
    {
        return $this->hasMany(\App\Models\Qualification::class, 'item_id');
    }
}

class Qualification extends Model
{
    public function qualifications()
    {
        return $this->belongsTo(Item::class, 'item_id');
    }
}

然后你可以使用查询关系缺位

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Item::whereDoesntHave('qualifications', function ($query) use($user_id) {
    $query->where('user_id', '=', $user_id);
})->get();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50711923

复制
相关文章
有消息队列的地方,就有英特尔傲腾持久内存
当消息队列遭遇英特尔傲腾持久内存会碰撞出怎样的火花?傲腾持久内存会对消息队列应用带来哪些革命性的变化。在2022存储峰会分布式存储论坛上,英特尔公司傲腾产品事业部云软件架构师胡风华进行了详细解读。
冬瓜哥
2022/05/29
7450
你的变量究竟存储在什么地方?
我相信大家都有过这样的经历,在面试过程中,考官通常会给你一道题目,然后问你某个变量存储在什么地方,在内存中是如何存储的等等一系列问题。不仅仅是在面试中,学校里面的考试也会碰到同样的问题。
ternturing
2018/09/12
1.8K0
你的变量究竟存储在什么地方?
QT程序在发布的时候应注意的地方
---恢复内容开始---     我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库。用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库。这是由于程序在编译时采用了动态链接的原因。如果我们在编译初期,就设置为静态编译,那么就不会出现这种情况了。动态链接机制是程序开发的一把双刃剑。     既然问题出现了,我们想着解决的办法。很自然的一种想法就是,程序
24K纯开源
2018/01/18
1.1K0
QT程序在发布的时候应注意的地方
c语言几个松散的地方(不足的地方,不严谨的地方,它容易出错的地方)。
c语言是面向过程的语言,是弱类型语言,c语言的源代码基本就是无数个函数的堆砌。 即很多函数就组成c语言源代码了,也即它的源代码基本就是函数构成的。
黑泽君
2018/10/11
7660
webkit和blink在blob机制上不同的地方
WebKit.dll!WebCore::BlobURL::createBlobURL(const WTF::String & originString) 行 76 C++ WebKit.dll!WebCore::BlobURL::createPublicURL(WebCore::SecurityOrigin * securityOrigin) 行 47 C++ > WebKit.dll!WebCore::FileReaderLoader::start(WebCore::ScriptExecutionContext * scriptExecutionContext, WebCore::Blob * blob) 行 81 C++ WebKit.dll!WebCore::FileReader::readInternal(WebCore::Blob * blob, WebCore::FileReaderLoader::ReadType type, int & ec) 行 149 C++ WebKit.dll!WebCore::FileReader::readAsText(WebCore::Blob * blob, const WTF::String & encoding, int & ec) 行 113 C++ WebKit.dll!WebCore::jsFileReaderPrototypeFunctionReadAsText(JSC::ExecState * exec) 行 565 C++ > WebKit.dll!WebCore::BlobResourceHandle::BlobResourceHandle(WebCore::BlobData * blobData, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client, bool async) 行 173 C++ WebKit.dll!WebCore::BlobResourceHandle::createAsync(WebCore::BlobData * blobData, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 143 C++ WebKit.dll!WebCore::BlobRegistryImpl::createResourceHandle(const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 80 C++ WebKit.dll!WebCore::createResourceHandle(const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client) 行 59 C++ WebKit.dll!WebCore::ResourceHandle::create(WebCore::NetworkingContext * context, const WebCore::ResourceRequest & request, WebCore::ResourceHandleClient * client, bool defersLoading, bool shouldContentSniff) 行 92 C++ WebKit.dll!WebCore::ResourceLoader::start() 行 218 C++ WebKit.dll!WebCore::ResourceLoadScheduler::servePendingRequests(WebCore::ResourceLoadScheduler::HostInformation * host, WebCore::ResourceLoadPriority minimumPriority) 行 285 C++ WebKit.dll!WebCore::ResourceLoadScheduler::scheduleLoad(WebCore::ResourceLoader * resourceLoader) 行 189 C++ WebKit.dll!WebCore::ResourceLoadScheduler::scheduleSubresourceLoad(WebCore::Frame * frame, WebCore::CachedResource * resource, const WebCore::ResourceRe
龙泉寺扫地僧
2019/02/20
1.4K0
Service Mesh的价值到底在什么地方
今年有幸加入了Service Mesh小组的研发当中,经过几个月的摸索,算是对Service Mesh有了一个初步的认识。旁边也是不停的有朋友问我,Service Mesh价值是什么?为什么我要用这个东西?
灰子学技术
2021/09/22
7530
大数据人才到底值钱在什么地方?
周未跟一做人才外包服务朋友聊天,提到自己正在学习大数据技术的时候。他直接就说到他现在有需求,但就是招不到合适的人才。然后提到说现在大数据人才的价值,收入,待遇方面。可以说基本上将近到IT行业的顶级了。不由得,就开始思考,大数据人才的价值到底在什么地方 大数据思维 个人感觉,这是首先第一个需要有的。因为我们现阶段生活在一个数据爆炸的时代,掌握良好的数据思维是对你的商业决策,乃至IT架构有很大的帮助。比如说,我们现在的数据类型很多,数据量很大。但是我们用到的却很有限,而这些有限的数据又不能够让我们产生效益。所以
小小科
2018/05/02
9560
加密货币交易业务在什么地方开展是最佳的?
新手,如果您想开展加密货币交易业务,但又不知道如何开始,从哪里开始?别担心 - 你并不是独自创建你自己的加密货币交易业务网络。事实上,现在新的加密货币交易业务服务的兴起,比以往任何时候都更有安全性和可靠性,很多人仍然在等待最值得信赖的服务,并且认为,目前最信赖的服务还没有出现过。
金融科技先驱者
2018/05/23
5990
加密货币交易业务在什么地方开展是最佳的?
禁用cookie之后 sessionid存储在什么地方了
Cookie禁用之后,可以通过url重写,来携带sessionid 从而接着使用session会话跟踪机制。 对于sessionid存储的位置,既然cookie已经禁用了,那么就可以存储在local
知识浅谈
2021/06/01
1.2K0
禁用cookie之后  sessionid存储在什么地方了
怎么在博客网站等地方引用 Github 贡献图表
相信许多人都对 Github Chart 的记录很在意,Github Chart 是什么呢?就是个人主页的那些绿块,组成了绿色日历
沈唁
2019/05/22
2.4K1
怎么在博客网站等地方引用 Github 贡献图表
不管在什么地方上班也要牢记这几点!
1、工作不需要闲人和懒人,公司请你来是解决问题的,而不是制造问题,你能解决多少问题你就拿多少薪水。
程序媛淼淼
2022/09/01
3070
thinkphp 在本地正常,在云端ubuntu下报控制器不存在
thinkphp的控制器的文件夹默认是小写字母,如果你不经意间把它的第一个字母改为大写,ubuntu下的服务器在运行该框架时,就会出现找不到控制器,所以,如果出现类似的问题,但是你的文件确实存在,这时候非常有可能是因为大小写的问题,
lin_zone
2018/08/15
3810
PCA在图像降维的应用
(自动编码器优化之主成分分析)从实例和数学背景的引导下详细的介绍了PCA的原理以及定义,并以旋转数据的角度论述其数据降维的实质,如何从降维之后的数据还原近似原始数据,以及如何选择主成分的个数。本篇文章将以简单的篇幅简单的介绍一下PCA在图像处理过程中的使用---降维。 为使PCA算法能有效工作,通常我们希望所有的特征 x[1], x[2], ... , x[n] 都有相似的取值范围(并且均值接近于0)。如果你曾在其它应用中使用过PCA算法,你可能知道有必要单独对每个特征做预处理,即通过估算每个特征 x[j]
昱良
2018/04/08
1.8K0
PCA在图像降维的应用
HYSBZ 2160 拉拉队排练(回文树)
2160: 拉拉队排练 Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 825  Solved: 324 [Submit][Status][Discuss] Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训练好拉拉队有多么的重要。拉拉队的选拔工作已经结束,在雨荨和校长的挑选下,n位集优秀的身材、舞技于一体的
ShenduCC
2018/04/26
6810
协程究竟比线程牛在什么地方?
我们用实验的方式验证了Linux进程和线程的上下文切换开销,大约是3-5us之间。这个开销在传统应用中来看确实不算大,但是海量互联网服务端和一般的计算机程序相比,特点是:
开发内功修炼
2022/03/24
9370
100 万在中国不同地方能活多久?
最近,一张名为 “100 万在中国各省能生活多久?” 的图片在网上流传 话不多说,往下看 没错,就是正如你们看到的 天朝大北京 以“100万能活19年9个月”的 成绩排名“倒数第一” 图片一出 数据君虎口一震 顿时一声惊叫 统计按“年人均年消费”划分7个等级 年人均消费<1.5w  贵  州  ▼ 贵州以“ 100 万能活 95 年 2 个月”的 “绝对优势”勇夺排行榜第一名 比排名第二的新疆多出 11 年 6 个月 贵州人民掐指一算不乐意了 换谁谁都不乐意啊! 每天20来块钱能干啥? 年人均
张俊红
2022/03/07
5240
在ASP.NET中值得注意的两个地方
在ASP.NET中ASPX页面的Page_Load事件有两个让人奇怪的地方,你应该记住它们:
Java架构师必看
2021/03/22
4390
动力环境监控系统在实际应用中值得注意的地方
动力环境监控系统是一种用于监测电力设备、环境及能耗的系统,它可以实时监测电力设备的运行情况和环境参数,及时发现问题并提供预警,为电力设备的安全、高效运行提供技术支持。
太难了
2023/05/04
3130
动力环境监控系统在实际应用中值得注意的地方
关于iOS for ... in 注意的地方
经常我们会筛选一个可变数组里面的元素讲不符合条件的删除掉一般我们的做法: NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"1",@"3",@"2",@"4",@"3",@"2",@"4", nil]; for (NSString *obj in array) { if ([obj isEqualToString:@"2"]) { [array removeObject:
developerbfl
2018/06/05
7670
点击加载更多

相似问题

拉拉维尔

48

拉拉维尔

40

方法类别不存在。拉拉维尔

10

拉拉维尔

610

拉拉维尔

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文