我在两个表中都有两个表 application_requests 和事务,可能有匹配的记录,也可能不是。对于我想要从两个表中记录的任何条件。
在事务表中,有一个外键列 application_request_id (这具有 application_requests 表中主键的引用值)。这个条件匹配,然后它应显示为一行(或记录)。
我不知道如何在laravel中实现这一点。
我尝试了下面的代码,但它不起作用:
$a = \DB::table('application_requests')->select('id');
$b = \DB::table('transactions')->select('application_request_id');
$results = $b->union($a)->get();
echo "<pre>";
print_r($results);die;
答案 0 :(得分:0)
两个外部联接,用于显示两个表中的所有行:
$second = DB::table('t2')
->rightJoin('t1', 't1.id', '=', 't2.id')
$first = DB::table('t1')
->leftJoin('t2', 't1.id', '=', 't2.id')
->unionAll($second)
->get();
答案 1 :(得分:0)
$results = DB::table('transactions')
->leftJoin('application_requests','transactions.application_request_id','=','application_requests.id')
->select('transactions.partner_id as tr_pratnerid','transactions.application_request_id as tr_applicationrequestid','transactions.class_2_1 as tr_clas21','transactions.class_2_2 as tr_clas22','transactions.class_2_3 as tr_clas23','transactions.class_3_1 as tr_clas31',
DO THIS TO ALL FIELDS FROM BOTH TABLE)
->get();
echo "<pre>";
print_r($results);die;
答案 2 :(得分:0)
就是这样:
DB::table('transactions')->join('application_requests', 'transactions.application_request_id', '=', 'application_requests.id', 'full outer');