Mam taki problem
Mam tablice z datami i teraz chodzi o to, żeby wybrać rekordy, które mają określone daty, ale data jest w formacie datetime, więc zastosowałem funkcje DATE_FORMAT w where.
I teraz, żeby było prościej to zastosowałem funkcje w larawerze whereIn.
Robię to w taki sposób.
$date = ['2015-05-05','2016-06-06',....];
$this->question = AppMood::query();
//$this->question->selectRaw("TIMESTAMPDIFF (SECOND, date_start , date_end) as longMood");
$this->question->selectRaw("(round(sum(TIMESTAMPDIFF (SECOND, moods.date_start , moods.date_end) * moods.level_mood) / "
. "sum(TIMESTAMPDIFF(second,moods.date_start,moods.date_end)),2)) as nas");
$this->question->selectRaw("round(sum(TIMESTAMPDIFF (SECOND, date_start , date_end) * level_anxiety) / "
. "sum(TIMESTAMPDIFF(second,date_start,date_end)),2) as nas2");
$this->question->selectRaw("round(sum(TIMESTAMPDIFF (SECOND, date_start , date_end) * level_nervousness ) / "
. "sum(TIMESTAMPDIFF(second,date_start,date_end)),2) as nas3");
$this->question->selectRaw("round(sum(TIMESTAMPDIFF (SECOND, date_start , date_end) * level_stimulation) / "
. "sum(TIMESTAMPDIFF(second,date_start,date_end)),2) as nas4");
//
//$this->question->groupBy();
$this->question->whereIn("DATE_FORMAT(date_end, '%Y-%m-%d')", $date);
I teraz przy wywoływaniu skrypty dostaje
Column not found: 1054 Unknown column 'DATE_FORMAT(date_end
Czytałem, że można pokombinować z whereRaw, ale jak to pogodzić z whereIn ?