私はケーキのPHP 3アプリを構築しています。CakePHP 3で他の関連付けを使用した条件との関連付けを作成する
- 構造
- MeasuringPoints
- DeviceTypes各Strcutureが複数MeasuringPoints有することができる
:
// StrcuturesTable.php
...
public function initialize(array $config)
{
parent::initialize($config);
...
$this->hasMany('MeasuringPoints', [
'foreignKey' => 'structure_id'
]);
}
また、各マイアプリモデルは、3つの(とりわけ)テーブルを含みます測定ポイントは特定のデバイスタイプです:
// MeasuringPointsTable.php
...
public function initialize(array $config)
{
parent::initialize($config);
...
$this->belongsTo('DeviceTypes', [
'foreignKey' => 'device_type_id',
'joinType' => 'INNER'
]);
}
私が探しているのは、構造テーブルに 'SpecialMeasuringPoints'関連付けを作成する方法です。
ややように:あなたが見ているよう
// MeasuringPointsTable.php
...
$this->hasMany('SpecialMeasuringPoints',[
'className' => 'MeasuringPoints',
'foreignKey' => 'structure_id',
'conditions' => ['MeasuringPoints.DeviceTypes.id'=>1]
]);
が、私はその関連するデバイスタイプが1 しかしIDを持っている、唯一のそれらの測定点が欲しい、以前の関連付けの条件が有効ではありません。私はこれを正しく実装する方法を知りません。
何か助けていただければ幸いです。
この包括的な答えをいただき、ありがとうございます。現在、私はこれの回避策を実装しましたが、私は間違いなくカスタムファインダーで試してみます! –