Итак, я часами искал ответ, но, похоже, не нашел его. У меня есть массив "заказов" на разные даты. Я получаю все заказы на эту неделю, это не должно быть проблемой, тогда я хочу вкладку для каждого дня недели.
То, что я пробовал до сих пор, это:
$dinnerOrders->where('date','>',$date)->where('date','<', $date->endOfDay())->sortBy('created_at');
Где $дата:
$dt = Carbon\Carbon::create()->startOfWeek();
Carbon\Carbon::setTestNow($dt);
$date = new Carbon\Carbon('this ' . $day);
И $dinnerOrders получают:
$dinnerOrders = collect([]);
foreach($restaurant->dinners as $dinner) {
foreach($dinner->orders as $order) {
$dinnerOrders[$order->id] = $order;
}
}
Даты кажутся правильными, и это слова в sql. Это не работает, потому что $dinnerOrders — это коллекция?
То, что я получаю, ничего не значит, то есть пустой набор, несмотря на то, что он работает в терминале mysql.
Итак, я спрашиваю, возможно, вы можете сравнить дату коллекции? Если да, то как?
get()
для получения результатов используйтеtoSql()
, и это вернет строку с SQL-запросом, который создается и выполняется Query Builder. Соответствует ли это тому, что вы запускаете вручную? - person Bogdan   schedule 19.11.2015