Получить дату начала недели и дату окончания недели из номера недели в необработанном запросе - PullRequest
0 голосов
/ 22 марта 2020

! Получить дату начала недели и дату окончания недели по номеру недели в необработанном запросе # 2 после группировки всех идентификаторов в массиве

$test=DB::table('bookings')
->select([

     'bookings.organization_id',
     DB::raw('week(bookings.created_at) as week'), // this give me week number I need start date and end date starting date Sunday and end date Saturday 
     DB::raw('year(created_at) as year'),

через секунду после группировки по organization_id. Мне нужен весь идентификатор бронирования в массиве, а не строка

// I try this but give like this "1,4,6,7,9"  I need ["1","4","6","7","9"]

DB::raw('group_concat(bookings.id) as bookings_id'), 

1 Ответ

1 голос
/ 22 марта 2020

Чтобы получить начало и конец недели, вы можете использовать это:

$test=DB::table('bookings')
->select([
'bookings.organization_id',
  DB::raw('DATE(bookings.created_at   + INTERVAL (1 - DAYOFWEEK(bookings.created_at)) DAY) as start_date'),
  DB::raw('DATE(bookings.created_at + INTERVAL (7 - DAYOFWEEK(bookings.created_at)) DAY) as end_date')
])
->get();

И для второго вопроса:

MySQL не имеет понятия типа array для данных .

Вам нужно разбить данные в массив, используя php код, подобный следующему:

$bookingsIds = explode(',', $test->bookings_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...