2017-08-16 3 views
0

Aide S'il vous plaît, j'essaie d'obtenir des données à partir de plusieurs tables: la première table contient (plus de 3 tables), la deuxième table contient des données relatives à la première table.jointure interne avec gâteau php 3

J'ai utilisé Inner Join chez Php myadmin et ça marche bien! mais quand je reviens à gateau php, ça ne marche pas bien.

voici mon code:

$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(); 

Et voici l'instruction SQL que je l'ai utilisé dans phpmyadmin et a été bien fonctionné!

SELECT * FROM sterilization_task_orders INNER JOIN supervision_data SUR sterilization_task_orders_id = sterilization_task_orders.id

Répondre

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(); 

S'il vous plaît utiliser. Bien que je n'ai pas testé. Mais, j'espère, ça va marcher.

Mieux vous pourriez écrire une association dans les deux tables. Cake Cake le générera automatiquement. Puis pourrait dater par contenir.

merci