1
私は現在、私のコードで一対多の関係をしています。私はそれはそれに対応するCATEGORY_IDの製品を選択するようにproducts.category_idがcategories.category_idと通信したいcakephpモデルの関連付けで外部キーを操作できる方法はありますか?
TABLE: categories
FIELDS: category_id (primary)
categoryName
TABLE: products
FIELDS: id (primary)
productName
category_id
:以下は私のデシベルです。しかし、実際に私のコードで起こることは、それは私の主キーである私のプロダクトのidを経由してCATEGORY_ID選択され、それはこのように書きます:
SELECT `Category`.`category_id`, `Category`.`categoryName`, `Category`.`description`, `Category`.`picture` FROM `categories` AS `Category` WHERE `Category`.`category_id` IN (3, 5, 6)
値:3,5,6-三の主キーです私の製品テーブルの製品。 1,2,3は私のカテゴリテーブル
すべてのヘルプでCATEGORY_IDに対応する私の製品テーブルのCATEGORY_IDある非常に高く評価されるだろう。しかし、それは価値がこのよう
SELECT `Category`.`category_id`, `Category`.`categoryName`, `Category`.`description`, `Category`.`picture` FROM `categories` AS `Category` WHERE `Category`.`category_id` IN (1, 2, 3)
にする必要があります。
//Category model
public $hasMany = array('Product');
//Product model
public $belongsTo = array('Category');
そして、ちょうどCategory.id
にCategory.category_i
Dを変更します。
あなたのアソシエーションとあなたが使っているコードを投稿してください。 (そして 'category_id'を 'id'に変更) – Dave
が解決されました。私の間違いは、初心者として、cakephpの命名規則に従わなかったので、私は2つのモデルのモデル連想を交換しました。製品モデルの : 変数$ belongsToの= 'カテゴリー';カテゴリーモデルの : VAR $ hasManyの= '製品'; などがすべて機能しました。ありがとうございました:D – Charmie