ایجاد ریلیشن بین جداول

[rtl]من سه تا جدول دارم به صورت زیر:[/rtl]

[rtl]الان از tbl_post فیلد user_id رو با جدول tbl_users و فیلد idریلیشن زدم

الان نمیتونم چند به چند انجام بدم به این صورت که

category_id از جدول post رو با post_id از categories.این چند به چند باید نوعشون چی باشه پریمیریکی یا چی چی برای ریلشین

ساختار دیتابیسم اینطوریه:[/rtl]

[font="Tahoma"][rtl]

برای ایجاد ارتباط چند به چند باید یک جدول واسطه به صورت زیر ایجاد کنی

[/rtl]




CREATE  TABLE `tbl_categories_post_relation` (

  `category_id` INT NOT NULL ,

  `post_id` INT NOT NULL ,

  PRIMARY KEY (`category_id`, `post_id`) ,


  CONSTRAINT `fk_post_category`

    FOREIGN KEY (`category_id` )

    REFERENCES `tbl_categories` (`id` )

    ON DELETE CASCADE

    ON UPDATE CASCADE,


  CONSTRAINT `fk_category_post`

    FOREIGN KEY (`post_id` )

    REFERENCES `tbl_post` (`id` )

    ON DELETE CASCADE

    ON UPDATE CASCADE)

ENGINE = InnoDB;



[rtl]

اونطور که متوجه شدم از MySQL Workbench برای ایجاد دیتابیست استفاده میکنی، در این صورت باید بگم که خود workbench ابزاری برای ایجاد ارتباط چند به چند داره که میتونی به راحتی از اون استفاده کنی.

[/rtl][/font]

[rtl]سلام. اره از ورک بنچ استفاده میکنم بعد ایجاد ریلیشن نتونستم ازش استفاده ای بکنم راستش ذخیره کردم ولی چطوری استفاده کنم و رو همین جداول داشته باشم نتونستم[/rtl]

[font="Tahoma"][rtl]همین یه دکمه تقریباً همه کار میکنه:

[/font]http://racky.wz.cz/yii_manual/imgs/mysqlWorkbenchRelationButton.bmp[font="Tahoma"] [/rtl][/font]