我如何在 CakePHP 3 中的多个列上连接两个表?

How can I join two tables on multiple columns in CakePHP 3?

我正在使用 CakePHP v3

我有一个 table 看起来像这样:

文件:

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

如何使用 ORM 在 CakePHP 中执行类似的操作?两个 table 中的主键都设置为 id 列。

我查看了 Cake 文档中的 foreignKeybinidingKey,但我看不到如何在其中使用多列。

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 = fk1key2 = fk2