繁体   English   中英

如何在laravel中的阵列中

[英]how to WhereIn a whereday of array in laravel

array:23 [▼
      0 => 1
      1 => 2
      2 => 3
      3 => 4
      4 => 5
      5 => 8
      6 => 9
      7 => 10
      8 => 11
      9 => 12
      10 => 15
      11 => 16
      12 => 17
      13 => 18
      14 => 19
      15 => 22
      16 => 23
      17 => 24
      18 => 25
      19 => 26
      20 => 29
      21 => 30
      22 => 31
    ]

这是一个工作日,除了周日和周六,我有一个月数据表,我需要一个Laravel条件比较所有数据与whe

->whereYear('Clock_Day',$yearofdata)
->whereMonth('Clock_Day',$monthofdata)
->whereIn('Clock_Day','=',$workdays) //here can i use something like whereIn->whereday---for comparing all array values and get as per the data

没有whereDayIn()或类似方法,但您可以这样做:

->whereYear('Clock_Day', $yearofdata)
->whereMonth('Clock_Day', $monthofdata)
->where(function($q) use($workdays) {
    foreach ($workdays as $day) {
        $q->whereDay('Clock_Day', '=', $day, 'or');
    }
})

如果Clock_Day是表格中的字段,则需要提取每个作品(年,月,日)的比较日期部分。 您可以在DB :: raw中使用whereIn:

->where(DB::raw('YEAR("Clock_Day")'),$yearofdata)
->where(DB::raw('MONTH("Clock_Day")'),$monthofdata)
->whereIn(DB::raw('DAYOFMONTH("Clock_Day")'),$workdays)

您只能使用whereYear或whereMonth将这些值与表中名为“year”和“month”的字段进行比较,但由于您希望对所有比较使用相同的“Clock_Day”字段,因此需要提取每个部分的相关数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM