Как я могу использовать locate и внутреннее соединение или сопоставление с cakephp 3? - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь получить работу только с видео-бронированием здесь, и я получаю видео-бронирования и фотографии бронирования.Похоже, что locate не работает, и я также не уверен, должен ли я использовать сопоставление или внутреннее соединение.Я также не получаю массив связанных служб, которые могут быть видео или видео редактирования.Одно бронирование может иметь несколько услуг.

    $param['optionsob']['OrdersBookings.start_date_convert >='] = $param['start_date'];
    $param['optionsob']['OrdersBookings.start_date_convert <='] = $param['end_date'];

    $param['optionsobs']['locate(13, OrdersBookingsServices.service_id) >'] = 0;
    $param['optionsobs']['locate(4, OrdersBookingsServices.service_id) >'] = 0;

    $matcher = function($query) use ($param) {
      return $query->where($param['optionsob'])->andWhere(['OR' => $param['optionsobs']]);
    };

    $records = $this->ClientOrders->find()->contain([
    'CompaniesOrdered',
    'CompaniesAgents',
    'ClientOrderStatus',
    'OrderStatus',
    'OrdersBookings.OrdersBookingsServices'])
    ->matching('OrdersBookings.OrdersBookingsServices', $matcher);
...