私はかなり継承されたコードを扱っていますが、テーブルからイベントを取得するクエリがあります。イベントモデルは$hasOne = array('blocked');
です。私の目標は、ブロックされたテーブルにエントリを持たないすべてのイベントのみを返すことです。 $ hasOneが設定されているにもかかわらず、ケーキはブロックされたイベントテーブルを別々に照会しているので、条件としてフィールドを使用することはできません。cakephp find()のhasOneはnull条件です。
クエリ自体は既に'contains' => ...
の内部にあるため、'joins' => ...
を使用して手動で結合を強制することはできません。更新
:ここでは、検索クエリは、それが今存在しているようです:
$params = array(
'conditions' => array(
'Restaurant.id' => $id,
'Restaurant.inactive' => 0, 'Restaurant.deleted' => 0,
'Restaurant.bkwindow <=' => (strtotime($criteria['Restaurant']['date']) - strtotime("today"))/86400
),
'fields' => array(),
'contain' => array(
'Experience' => array(
'Experience_blocking'
)
)
);
私はExperience_blockingテーブルのエントリを持っていないだけのリターン結果に経験表を必要とします。エクスペリエンスは$ hasOne of Experience_blockingで設定されていますが、決して動作しません。