Siteaddress
とJobsheet
の2つのテーブルがあります。 Jobsheet
テーブルには、テーブルに格納されているサイトアドレスのIDを含むsiteaddress
というフィールドがあります。CakePHPの指定フィールドを使用して2つのテーブルを結合する
私が午前問題は、私は、コントローラに参加やっている一方で、CakePHPは両方のテーブルのid
フィールドを使用してJobsheet
テーブルにSiteaddress
テーブルを結合していることです。これは、Siteaddress
テーブルに1つのレコード(これまで)しかなく、Jobsheet
テーブルに複数のレコードがあるため、問題が発生します。
私がする必要があるのは、現時点での動作ではなく、Jobsheet.siteaddress
からSiteaddress.id
への参加をCakePHPに伝えることです。
どうすればいいですか?
は以下Jobsheet
モデルファイルから関係コードです:
public $hasOne = array(
'Company' => array(
'className' => 'Company',
'foreignKey' => 'id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Siteaddress' => array(
'className' => 'Siteaddress',
'foreignKey' => 'id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
乾杯!
私はそれを 'siteaddress'に設定しましたが、それでエラーが返されます:'列が見つかりません:1054不明な列 'on節'の 'Siteaddress.siteaddress' – mickburkejnr
ああ、そうです。その場合、 'hasOne'はあなたが探している関連ではないかもしれません。 '$ belongsTo'の関連付けを' siteaddress'の 'foreignKey'で定義する方が良い選択かもしれません。 – mensch
'$ belongsTo'を使用しました。どうもありがとう! – mickburkejnr