当該DBテーブルの構造が既定(id)とは異なる紐付けフィールドを指定する必要があれば、利用する形になる。
// ArticlesTable::initialize() の呼び出しの中で $this->hasMany('Reviews') ->setForeignKey([ 'article_id', 'article_hash' ]) ->setBindingKey([ 'whatever_id', 'whatever_hash' ]);
foreignKey の値が reviews テーブルを参照し bindingKey の値が articles テーブルを参照することに注意することは大切です。
bindingKeyが当該テーブルのkey指定になります。
■ Cakephp4 setBindingKey()