如何避免 Laravel 中的列名冲突?

How to avoid column name conflict in Laravel?

我想在 Laravel 中加入 3 table 后查看特定 table 的日期。但是它只显示一个table的信息。

这是加入 3 tables 的代码:

路由文件:

 $invoices= DB::table('sales_accounts')
    ->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
    ->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
    ->where('sales_accounts.sender_id', $fieldForceID)
    ->get();

return Response::json($invoices);

这里是在 Blade Template 中查看信息的脚本

Blade 中的代码:

function(data) {

            $.each(data, function(index, element) {

                console.log(element);
                infoShare.append("<pre> Date Of Invoice : "+element.created_at+" | Pos Address : "+element.subscriber_address+"| Total Amount: "+element.cost+" </pre>");
            });
        });

这里我想查看 Invoice 的创建日期,但它显示了来自 subscribers [=36] 的订阅者的创建日期=].但我想从发票 table.

查看发票的具体日期

我该怎么做?此致

我做到了!!!

如果我像这样更改连接查询,它会显示 table.

的特定值

在路由文件中查询:

$invoices= DB::table('sales_accounts')
->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
->where('sales_accounts.sender_id', $fieldForceID)
->get(['invoices.created_at','invoices.debit','invoices.credit','invoices.cost','subscribers.subscribers_address']);

return Response::json($发票);

现在可以正常使用了!!!

使用 SaleAccount 模型更新查询:

$fieldForceID=Input::get('option');
$invoices= SaleAccount::where('sales_accounts.sender_id', $fieldForceID)
    ->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
    ->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
    ->get(['invoices.created_at','invoices.debit','invoices.credit','invoices.cost','subscribers.subscriber_address']);
return Response::json($invoices);

试一试

路由文件

中的发票查询中添加这个
->addSelect(\DB::raw('invoices.created_At as invoce_created'))

Blade 文件

上获取 crated_at 日期的发票
element.invoce_created