当前位置: 首页 > 知识库问答 >
问题:

laravel在给定id与联接表id不匹配时获取数据

裴俊豪
2023-03-14

这是我的类别表数据

在我的post bale中,我加入了这个类别表

这是我的post表示例数据

  1. ID=1,
  2. 名称=“hellow”
  3. 类别id=4(我加入了类别表,但已删除选定的类别)

这里是我的索引SQL查询(当categy_id与category.id匹配时),然后只有它的fetch

$post = DB::table('posts)->join('category','posts.category_id','categories.id')-.paginate(10);

由于某种原因,选择的类别可以删除,所以我尝试获取类别删除后的数据

这是我的问题

$cpost = DB::table('posts')->join('categories','posts.category_id', '!=' ,'categories.id')->select('post.*')->paginate(5);

但以上根据可用类别数据查询重复过账数据

我想要所有的职位数据是类别id不匹配在类别表id我如何得到它?

共有2个答案

史商震
2023-03-14

试试看:

$cpost = DB::table('posts')
->join('categories','posts.category_id', '=' ,'categories.id')
->select('post.*', 'categories.*')
->whereNotIn('posts.category_id', DB::raw('select id from categories'))
->paginate(5);
计阳泽
2023-03-14

试试这个。关键字是leftjoin而不是默认的innerjoin(join)。

        // posts without assigned or existing category
        $posts = \DB::table('posts')
            ->leftJoin('category','posts.category_id','categories.id')
            ->whereNull('categories.id')
            ->paginate(10);
 类似资料:
  • 问题内容: 我正在使用一个简单的短信应用程序,正在使用以下代码在加载线程列表时获取线程ID,但是我不知道如何使用线程ID获取联系人ID。我是root用户,并且使用root资源管理器,我可以在数据库中看到一个带有以下各列的联系人表 因此,由于我具有线程ID,因此我应该能够获取联系人ID,但我还需要确保该方法在所有设备上均有效。我的应用不是root用户 获取线程ID的代码 问题答案: 我恢复所有联系人

  • 问题内容: 我正在尝试删除mysql表中的孤立条目。 我有2张桌子,像这样: 表: 表: 该和列可以被用来连接表在一起。 我想删除表中所有在表中找不到的行。 因此,使用上面的示例将删除表中的行:3&4(s)。 问题答案: 使用LEFT JOIN / IS NULL: 使用不存在: 使用NOT IN: 警告 只要有可能,就在事务中执行DELETE(假设受支持-IE:不在MyISAM上),以便在出现问

  • 问题内容: 我正在尝试从tblimage中提取与每个用户的tblimage中的maxid对应的照片。目前,我正在从消息表中获取所有消息,并为发布消息的用户提供了一张随机照片,我希望该照片是最新上传的照片。按照现在的书写方式,它只是从桌子上拉出一张随机照片。有什么建议? 表结构是这样的: 消息:msgid,消息,user_id,event_id tblimage:id,照片,userid 问题答案:

  • 嗨,伙计们,我正在使用Laravel5.5,我有两个表,用户和服务 用户表 ID 名称 电子邮件 密码 地址 城市 国家 邮政编码 null 提前谢了。热烈问候:阿卜杜拉·沙希德。

  • 我有一个文本输入,用户必须键入电影的名称,我也有一个电影数据库,当用户键入电影的标题时,电影的标题将与电影数据库上的标题相匹配,然后它应该在电影表中获取电影的movie_id,并将其保存在时间表表中。

  • 我有一张siswa和kelas的联合表格。在kelas表中有一列idSiswa,它来自siswa表的id。问题是当kelas加入时,我如何从他那里获得id。当我尝试获取id时,它显示了来自siswa表的id,而不是来自kelas表的id,我也已经使用了右连接和左连接,但仍然没有得到答案 我使用来自laravel的查询生成器来运行查询,这是我的查询