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

如何从连接表sql获取id

韩华美
2023-03-14

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

我使用来自laravel的查询生成器来运行查询,这是我的查询

$siswa = DB::table('siswas')
            ->join('kelas', 'kelas.idSiswa', '=', 'siswas.id')
            ->where([
                ['kelas.kelas', '2'],
                ['kelas.semester', 'ganjil'],

            ])
            ->select('kelas.*', 'siswas.*')
            ->get();

共有1个答案

潘意
2023-03-14

您的问题来自名称冲突。连接两个表时,有2个字段。要解决此问题,应使用SQL别名。您可以看到有关此主题的示例

您也可以考虑使用口才,它提供OOP优点,并自动避免这种问题。

namespace App;

use Illuminate\Database\Eloquent\Model;

class Kelas extends Model
{
    public function siswa()
    {
        return $this->belongsTo('App\Siswa', 'idSiswa', 'kelas');
    }
}
namespace App;

use Illuminate\Database\Eloquent\Model;

class Siswa extends Model
{
    public function kelas()
    {
        return $this->hasMany('App\Kelas', 'idSiswa', 'kelas');
    }
}
$siswa = App\Siswa::with('kelas')
    ->where([
        ['kelas', '2'],
        ['semester', 'ganjil'],
    ])
    ->get();

$firstSiswaKelasIds = $siswa->first()->kelas->map->id;
 类似资料:
  • 问题内容: 我想从hibernate会话中获取jdbc连接。hibernate会话中有方法,即session.connection();。但已被弃用。我知道这仍然有效,但是我不想使用已弃用的方法,因为我确定他们必须为此提供一些替代方法?在http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html上,连接方法api表示

  • 我的数据库中有一个小特例,我需要从两个具有一对一关系的不同表中获取数据,以获得有用的结果。获取看起来像这样: 当然,我在实际代码中使用了-这只是一个示例。我的问题是是否以及如何将jOOQ中获取的数据写入POJO。我不确定是否有办法让jOOQ为我生成这个POJO,但如果我必须自己编写它,我假设我需要像适配器这样的东西以及像作为数据类型的转换器。 我看到有可能出现RecordMapperProvide

  • 问题内容: 但是我还需要知道: 如何在 Microsoft SQL Server (以我的情况为2008)中完成此操作? 问题答案: 您可以通过查询Information Schema视图获得此信息,甚至更多。 此示例查询:

  • 首先,我有这个“用户”模型 而这种“用户详细信息”模型 我试图从user_details模型中只获取特定的列(user_details[外键=user_id]模型与用户[主键/引用键=user_id]模型有关系) 但不幸的是,不幸的是,没有工作,我得到了这个错误(参考下面) 查询onnection.php第624行中的异常: SQLSTATE[42S22]:找不到列: 1054字段列表中的未知列u

  • 我想实现一些类似于Spring数据的东西。 在spring初始化期间,我需要获得所有接口的列表(适当地注释)<为接口创建动态代理,并将它们注入到需要的地方。 代理创建,创建bean注入就可以了。现在问题来了: 如何找到所有接口的列表? 因此,我需要一个基本包的完整列表,通过Spring扫描在包中找到我的接口(必须快得多)。 在SpringContext中肯定可以获得这些信息。我试图调试并查看bas

  • 如何将类author中的author\u firstName和author\u lastName与类目绑定?我使用h2数据库,作者id和图书id是主键,我使用postman