【问题标题】:Select Year only from database php (Laravel)仅从数据库 php (Laravel) 中选择年份
【发布时间】:2015-08-07 08:39:02
【问题描述】:

我有一个问题,如何仅从 laravel 的数据库中选择年份?我的数据库中有:

2015-07-02
2015-07-04
2015-08-06

我只想选择年份('2015')

我想在 Laravel 中构建,我的代码是:

   $visit_time = DB::table('tr_visit')->join ('tm_child','tr_visit.Child_ID','=','tm_child.Child_ID')
       ->where('tr_visit.Child_ID', 'LIKE', '%' . $childName . '%')
       ->groupBy(DB::raw('YEAR(tr_visit.Visit_Date)'))
       ->groupBy(DB::raw('MONTH(tr_visit.Visit_Date)'))
       ->select(DB::raw('YEAR(Visit_Date)'))->distinct()->get();

请帮帮我,谢谢

【问题讨论】:

  • 我不知道 Laravel 是如何工作的,但你会得到完整的日期,然后是 explode("-",$date)
  • 似乎正确。您的代码有什么问题?
  • @b0s3 这不行.. 我们应该使用 DB::raw
  • 上述查询的输出是什么?
  • @VMcreator 输出:2015-07-02 2015-08-04

标签: php mysql laravel


【解决方案1】:

你可以使用

->selectRaw('YEAR(Visit_Date)')

并使用 Eloquent

$visit_time = Tr_visit::join('tm_child', 'tr_visit.Child_ID', '=', 'tm_child.Child_ID')
->where('tr_visit.Child_ID', 'like', '%' . $childName . '%')
->groupBy(['date', 'month'])
->selectRaw('YEAR(tr_visit.Visit_Date) as date, MONTH(tr_visit.Visit_Date) as month')
->distinct()->get();

【讨论】:

    【解决方案2】:

    编辑

    ->select(DB::raw('YEAR(tr_visit.Visit_Date)')) 
    

    【讨论】:

    • 如何通过$visit_time [->select(DB::raw('YEAR(tr_visit.Visit_Date)')) ]查看?
    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 2015-12-26
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    相关资源
    最近更新 更多