我知道这个问题已经被问了很多次,但所有的答案似乎都不起作用。我必须在一个设计糟糕的SQL数据库上工作,这个数据库没有任何文档,我试图将两个表中的结果连接起来,但是似乎没有任何工作,并且总是会出现不明确的列错误。这是我的代码:

$payments = DB::table('dbo.T_PAY_SEND')->where('SEND_SUCC',0)->orderBy('SEND_DATE', 'desc')->get();

 foreach ($payments as $pay) {

      $orders[]= T_Order::select(DB::raw('dbo.T_PAY_SEND.METERID as PAY_METER_ID, dbo.T_Order.METERID as ORDER_METER_ID'))->Join('dbo.T_PAY_SEND','dbo.T_PAY_SEND.METERID','=','dbo.T_Order.METERID')->where('METERID', '=',$meterID)->where('Order_Value', '!=', '')->get('PAY_METER_ID','ORDER_METER_ID');

       }

如果有人能帮忙,我将非常感激

最佳答案

在两个表中有相同的列名,所以这里

where('METERID', '=',$meterID)

您必须指定表,或者
dbo.T_Order.METERIDdbo.T_PAY_SEND.METERID
where('dbo.T_Order.METERID', '=',$meterID)

关于mysql - 列名称不明确laravel 5.3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40800312/

10-13 07:39