我正在寻找使用Laravel创建一个联接,如果联接引用不存在,它将选择整个表,否则联接其他表。

DB::table('tInfo')
->join('tStaff', 'tStaff.tourID', '=', 'tInfo.tcode')->get()


tInfotStaff是“一对多”关系,并且tStaff将具有链接到特定巡回演出的行

我删除了“ tStaff”引用,并注意到查询不返回行(不包括错误)。我认为这是因为联接无效。

我该如何解决这个问题?

最佳答案

请试试这个

  DB::table('tInfo as inf')
              ->whereNotExists(function ($query) {
            $query->select(DB::raw('tourID'))
                  ->from('tStaff')
                  ->whereRaw('inf.tcode= tStaff.tourID');
        })
        ->get();

关于mysql - 连接存在引用的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41734262/

10-12 05:36