sql — внутреннее соединение с тортом php 3

Помощь Пожалуйста, я пытаюсь получить данные из нескольких таблиц: первая таблица содержит (более 3 таблиц), вторая таблица содержит данные, относящиеся к первой таблице.

Я использовал Inner Join на Php myadmin, и он работает нормально!
но когда я возвращаю его на торт php, он не работает нормально.

вот мой код:

 $query= $this->SterilizationTaskOrders->find('all',array('contain'=>[ 'Users','SterilizationTasks', 'SterilizationTypes', 'SterilizationTaskTypes', 'SterilizationStatuses'],)) ->join([
'supervision_data' => [
'table' => 'supervision_data',
'type' => 'INNER',
'conditions' => 'supervision_data.sterilization_task_orders_id =SterilizationTaskOrders.id ',
] ])->toArray();

А вот SQL-оператор, который я использовал в phpmyadmin и который работал отлично!

ВЫБРАТЬ ИЗ sterilization_task_orders ВНУТРЕННЕЕ СОЕДИНЕНИЕ supervision_data ON sterilization_task_orders_id = sterilization_task_orders.id

0

Решение

$query= $this->SterilizationTaskOrders->find()
->contain=>[ 'Users','SterilizationTasks', 'SterilizationTypes', 'SterilizationTaskTypes', 'SterilizationStatuses']
->join([

'table' => 'supervision_data',
'type' => 'INNER',
'alias' => 's',
'conditions' => 's.id = supervision_data.sterilization_task_orders_id',
])
->toArray();

Пожалуйста, используйте это. Хотя я не проверял. Но, надеюсь, это сработает.

Лучше вы могли бы написать ассоциации в обеих таблицах. Cake Bake сгенерирует его автоматически. Тогда можно датировать по содержанию.

Спасибо

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector