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

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

萧萧迟
2023-03-14

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

下面是连接3个表的代码:

路由文件:

 $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);

下面是查看刀片模板中信息的脚本

刀片中的代码:

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>");
            });
        });

这里我想查看发票的创建日期,但它显示了subscribers表中订户的创建日期。但我想从发票表中查看发票的具体日期。

我该怎么做?当做

共有2个答案

澹台景辉
2023-03-14

试试看

在路线文件中的发票查询中添加此项

->addSelect(\DB::raw('invoices.created_At as invoce_created'))

在Blade File上获取发票crated_at日期

element.invoce_created
柴宏阔
2023-03-14

我做到了!!!

如果我像这样更改联接查询,它会显示表的特定值。

在路由文件中查询:

$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']);

返回响应::json($invoices);

现在它工作得很好!!!

使用Sale帐户模型更新查询:

$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);
 类似资料:
  • 问题内容: 最近,我被分配创建拍卖系统的任务。在我的工作中,我遇到了无数次由于列名不明确而导致包含联接的SQL查询无法执行的情况。考虑以下(简化的)拍卖表结构: 表: (创建拍卖的用户的ID) 表: (添加项目的用户的ID) (有该物品的拍卖的ID) (初始价格) 表: 表: (出价的用户的ID) (已提高价格的项目) (优惠价格) 如您所见,有许多列具有冲突的名称。连接这些表需要采取一些措施来消

  • 我正在尝试正确地使用ByteBuffer和BigEndian字节顺序格式。。 我有几个字段,我试图把它存储在Cassandra数据库之前放在一个单一的ByteBuffer中。 我将要写入Cassandra的字节数组由三个字节数组组成,如下所述- 现在,我需要快速压缩attributeValue数据,然后再将其存储在Cassandra中- 现在,我将编写,和snappy压缩的一起组成一个单字节数组,

  • 我使用Java实现了很多Selenium测试—有时,我的测试会因为StaleElementReferenceException而失败。 你能建议一些使测试更稳定的方法吗?

  • 我想验证一下,给定包中的类只引用驻留在包本身中的类。然而,我遇到了一个冲突,告诉我a类依赖于例如java.lang.String,这对我来说是完全可以的。有没有一种方法可以忽略基本的java包?

  • 问题内容: 我正在尝试通过从客户端向服务器发送密钥和随机数来认证用户。 我的代码未向我显示客户端的响应。执行下面的代码时,我得到了一个空指针异常。 问题答案: 解决大多数问题的固定步骤: 阅读堆栈跟踪以确定哪一行代码引发NPE 在该行代码处设置一个断点 使用调试器,在遇到断点时,确定该行中的对象引用是 弄清楚为什么引用该文件(到目前为止,这是唯一实际的困难部分) 解决根本原因(也可能很困难)

  • 问题内容: 我有两个简单的Java代码。第一个将恒定功率定义为power = a.pow(b); 第二个将恒定功率定义为power = BigInteger.ONE.shiftLeft(b) 在命令行中设置内存标志- Xmx1024m,第一个代码可以正常工作,但是第二个代码却出现错误:java.lang.OutOfMemoryError:Java堆空间 我的问题:我应该在第二个代码中更改什么以避免