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

从laravel中的内部联接表中选择特定列

杜建章
2023-03-14

我需要发票,invoice_details表的所有列,但我想从我的付款表中只得到一列(列名:金额)。我对它有什么疑问?这是我的控制器。

$all_invoice = DB::table('invoice')
        ->join('invoice_details', 'invoice.invoice_id', '=', 'invoice_details.invoice_id')
        ->join('payment', 'invoice.invoice_id', '=', 'payment.invoice_id')
        ->where('invoice.client_id', 7)
        ->orderBy('invoice.invoice_id', 'DESC')
        ->get();

共有2个答案

松旭
2023-03-14

只是使用选择

$all_invoice = DB::table('invoice')
       ->join('invoice_details', 'invoice.invoice_id','=','invoice_details.invoice_id')
       ->join('payment', 'invoice.invoice_id', '=', 'payment.invoice_id')
       ->where('invoice.client_id', 7)
       ->select('payment.amount')
       ->orderBy('invoice.invoice_id', 'DESC')
       ->get();
呼延承平
2023-03-14

这非常简单,您需要像这样在查询中添加select子句。

$all_invoice=DB::表('发票')-

如果仍有查询,请参阅查询中的选择选项中的laravel文档。

 类似资料:
  • 我想从两个select查询的内部联接中选择两列。我编写了一个连接三个表的查询,从结果中我只希望得到两列。但是我的查询显示错误。我使用的是oracle sql Developer。 我只想要名字和姓氏,但我得到了这样的错误:

  • 其目的是从联接的表(多对多)中选择列。 我遇到的问题是从联接的多对多表中选择两列。 我使用的是SpringBoot2.3和Spring data JPA。 我有这个数据模型,我想要获取的是蓝色装箱的字段

  • 你们能帮我解决这个问题吗?我想修改它,以便它只显示来自此查询(78%)的至少3名员工的部门,而不是来自(原始的员工/部门表)。每次我尝试“having COUNT(department_ID)或@the WHERE子句”都会给我一个错误。我需要做第二次连接吗?谢谢。 EMPLOYEE_ID EMPLOYEE_NAME工资DEPARTMENT_ID DEPT_NAME MAX_SAL 选定6行

  • 我有两张桌子,客户和订单是内部连接的。客户可以有多个与其关联的订单。在我的选择中,我然后按客户分组。id.我需要选择每个客户的最新订单,还需要选择在该订单中花费的金额。目前,我可以选择最近的订单日期,但不知道如何选择与订单日期同一行中的金额。 这是我当前的查询: 查询选择最近日期,但不选择与最近订单日期关联的金额。 表格声明:

  • 我正在尝试从不同的表中选择2列(它们是连接的),但是我无法使用标准API使其工作。问题是,我已经创建了一个DTO类作为投影,但是我不能将连接的表实体转换为内部类。为了澄清问题,下面是我的课程: 用户: 角色: DTO类:

  • 问题内容: 理想情况下,我需要一个等于 但这是非法的。 我不能使用自动递增的字段。 row_number()是需要选择的行。 我该怎么办? 编辑:嗯,我使用iSql * plus进行练习,出于某些原因,使用limit和auto_increment是非法的。我最终创建了一个序列和一个触发器,并且每次输入一个条目时,ID都增加了1。 问题答案: 您可以使用代替。 如文档所述, 第一个参数指定要返回的第