【问题标题】:Laravel: Displaying data from two tables in a view in a increasing DateLaravel:在增加日期的视图中显示来自两个表的数据
【发布时间】:2017-11-20 11:53:27
【问题描述】:

我有两张桌子。一个是销售数据,另一个是银行存款取款数据。我可以显示销售表的数据。还可以显示银行的数据。但我想显示这样的数据

17 Nov 2017 Sells Data.....
16 Nov 2017 banks Data....
15 Nov 2017 Sells Data.....
15 Nov 2017 banks Data....

但现在我得到这样的数据

15 Nov 2017 Sells Data.....
16 Nov 2017 Sells Data.....

15 Nov 2017 banks Data....
17 Nov 2017 banks Data....

如何将数据显示为我想要的数据

代码:

$sell = Sells::orderBy('id', 'desc')->get();
$bank = Banks::orderBy('id', 'desc')->get();

由此获取数据。但无法按我的意愿显示数据。

【问题讨论】:

  • 你尝试过什么吗?
  • 把你的代码贴到这里,让大家了解更多。
  • 如果您的两个表都有关系,那么您可以使用连接查询并按日期获取结果顺序。
  • 两个表之间没有关系。我可以这样显示吗
  • @Rits 代码已更新

标签: php database laravel


【解决方案1】:

如果两个表的列完全相同,您可以使用union

$sells = DB::table('sells')->select('*');
$banks = DB::table('banks')->select('*')
    ->union($sells)
    ->latest()
    ->get();

但如果它们不相同,则必须选择相同的列:

$sells= DB::table("sells")
    ->select("sells.name"
      ,"sells.price"
      ,"sells.created_at");
$banks = DB::table("banks")
    ->select("banks.name"
      ,"banks.price"
      ,"banks.created_at")
    ->unionAll($sells)
    ->orderBy('created_at', 'DESC')
    ->get();

【讨论】:

  • 列完全不同。在 Sells 中有 customer_id、total_amount、paid、due 列,在 Bank 中有 bank_id、withdraw、deposit 列
  • @KapilPaul 恐怕那时你什么也做不了!
  • 哦.. 感谢您的帮助。有没有我可以执行的其他循环
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多