Как я могу присоединиться к двум таблицам в нескольких столбцах в CakePHP 3?

Я использую CakePHP v3

У меня есть таблица, которая выглядит так:

Документ:

id | section | paragraph ------------------------- 1 2 4 

Текст:

 id | section | paragraph | theText --------------------------------------- 12 2 4 Blah blah 

Поэтому в SQL я мог бы сделать что-то вроде этого;

 SELECT * FROM document INNER JOIN text ON document.section=text.section AND document.paragraph=text.paragraph 

Как я могу сделать что-то подобное в CakePHP, используя ORM? Основной ключ в обеих таблицах настроен как столбец идентификаторов.

Я изучил foreignKey и binidingKey в документах Cake, но я не вижу, как использовать в них несколько столбцов.

http://book.cakephp.org/3.0/en/orm/associations.html .

FWIW, вот пример кода, который показывает, как я хочу получить к ним доступ.

 $cond = [ 'contain' => ['text'] ]; $docs = $this->Documents->find('all',$cond); 

Да, это возможно. Просто используйте массивы для выражения столбцов, которые должны быть сопоставлены:

 $this->belongsTo('Things', [ 'bindingKey' => ['key1', 'ke2'], 'foreignKey' => ['fk1', 'fk2'] ]); 

Это будет соответствовать key1 = fk1 и key2 = fk2