【问题标题】:export excel sheet with where condition of sql in Laravel在Laravel中导出带有sql条件的excel表
【发布时间】:2021-04-01 06:45:34
【问题描述】:
public function cal1(request $request){
       $request->validate([
         'month' => 'required'
       ]);
       $month1 = $request->get('month');
      // dd($month1);
      $date = DB::table('users')->where('date', '==', $month1);
       return Excel::download(new UsersExport($date), 'users.xlsx');
    
}

这是我的控制器,它导出包含 DB 表中所有数据的 Excel 表。我想导出具有每月数据的 excel 表。提前致谢。

【问题讨论】:

  • 试试where('date', $month1)where('date', '=' , $month1)。这里不需要使用双等号
  • Basic Where Clauses 你在sql中使用=,而不是==
  • 我试过'='但结果是一样的
  • $month1 的值是多少,date 是日期类型列吗??
  • 两个值都与 2021-03-25 相同,是的,日期是日期类型列。 @zahidhasanemon

标签: mysql laravel export where-clause maatwebsite-excel


【解决方案1】:

试试这个:- $date = DB::table('users')->where('date', '=', $month1)->get();

【讨论】:

  • 我尝试了 '=' 但得到了相同的结果。
  • 现在试试这个,$date = DB::table('users')->whereDate('date', $month1)->get();
  • 这些方法我都试过了。 @VarinderKaur
【解决方案2】:

要获取指定月份,请使用 whereMonth(),要使其也按月份和年份过滤,请使用 whereDate()。不建议在一个查询中使用 whereYear()whereMonth()

DB::table('table')->whereMonth('date', $month1)->get();
DB::table('table')->whereDate('date', 'like', $month1 . '%')->get();

Laravel Docs Query

【讨论】:

    猜你喜欢
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    相关资源
    最近更新 更多