نمایش نتایج 1 تا 7 از 7

نام تاپیک: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

  1. #1
    کاربر دائمی آواتار mostafa_shoakry
    تاریخ عضویت
    آذر 1388
    محل زندگی
    فعلا که ساکن اردبیلم
    سن
    36
    پست
    292

    Question ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    با سلام خدمت دوستان محترم
    من یک مشکلی که دارم اینه که فرض کنین که من چنتا جدول دارم مثل محصولات ، آلبوم تصاویر و عکس های آپلود شده مثل تصویر زیر.
    relation.png
    tbl_product : شامل تمامی محصولات هست
    tbl_album : شامل نام آلبوم های ایجاد شده به همراه نام پوشه ای که در سرور ایجاد میشود تا عکس ها در اون پوشه آپلود شوند.
    tbl_image : شامل اطلاعات عکس و کد آلبوم تصاویر که به صورت کلید خارجی می باشد.
    و
    tbl_product_image : که این جدول رو برای این ایجاد کردم که مثلا برای یک محصول چندین تصویر در نظر گرفته شود.
    و ریلیشن ها
    Product :

    public function relations()
    {
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
    'category' => array(self::BELONGS_TO, 'Category', 'category_id'),
    'tblImages' => array(self::MANY_MANY, 'Image', '{{product_image}}(product_id, image_id)'),
    );
    }

    Album:

    public function relations()
    {
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
    'images' => array(self::HAS_MANY, 'Image', 'id_album'),
    );
    }

    image:

    public function relations()
    {
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
    'tblCategories' => array(self::MANY_MANY, 'Category', '{{category_image}}(image_id, category_id)'),
    'idAlbum' => array(self::BELONGS_TO, 'Album', 'id_album'),
    'tblProducts' => array(self::MANY_MANY, 'Product', '{{product_image}}(image_id, product_id)'),
    );
    }

    مشکل من در پیاده سازی AR این جداول هست.

    به عنوان مثال من می خوام 4 تا عکس را برای یک محصول در نظر بگیرم که در این صورت چون عکس های من امکان دارد هر کدام در یک پوشه جداگانه باشد پس من فقط نمی تونم از جدول image سلکت بزنم باید پوشه ای که عکس در اونجا قرار دارد از طریق جدول album در بیارم.
    آیا روشی برای این کار هست و با این روابط و جداول می تونم کاری انجام بدم؟

    یک روشی دیگر هم هست که می تونم یک جدول ایجاد کنم و مسیر کامل عکس رو در اون جدول ذخیره کنم و جدول product رو با اون ارتباط بدم.

    می خوام بدونم کدوم بهتر و راحت تره

  2. #2

    نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    منظورتون رو دقیق تر توضیح بدین. تصاویر توی یک پوشه هستن یا چند پوشه برحسب آلبوم؟

  3. #3
    کاربر دائمی آواتار mostafa_shoakry
    تاریخ عضویت
    آذر 1388
    محل زندگی
    فعلا که ساکن اردبیلم
    سن
    36
    پست
    292

    Question نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    منظورتون رو دقیق تر توضیح بدین. تصاویر توی یک پوشه هستن یا چند پوشه برحسب آلبوم؟
    نه تو چند پوشه بر حسب آلبوم
    جدول آلبوم من
    album.png
    جدول عکسها
    images.jpg

    ببینین من یک جدول محصولات دارم که جدول محصولات من هم به این صورت هست :
    product.png
    حالا سوال من اینه که می خوام برای هر محصول چندین و یا یک عکس انتخاب کنم.
    چجوری اینکارو انجام بدم؟

  4. #4

    نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    relationها رو اینطوری تنظیم کنید (برای نظم بیشتر) :
    Category :
    public function relations(){
    return array(
    'images' => array(self::MANY_MANY, 'Image', '{{category_image}}(category_id, category_id)'),
    'products' => array(self::HAS_MANY, 'Product', 'category_id'),
    );
    }

    Product :
    public function relations() {
    return array(
    'category' => array(self::BELONGS_TO, 'Category', 'category_id'),
    'images' => array(self::MANY_MANY, 'Image', '{{product_image}}(product_id, image_id)'),
    );
    }

    Album :
    public function relations(){
    return array(
    'images' => array(self::HAS_MANY, 'Image', 'id_album'),
    );
    }

    Image :
    public function relations(){
    return array(
    'album' => array(self::BELONGS_TO, 'Album', 'id_album'),
    'categories' => array(self::MANY_MANY, 'Category', '{{category_image}}(image_id, category_id)'),
    'products' => array(self::MANY_MANY, 'Product', '{{product_image}}(image_id, product_id)'),
    );
    }

    حالا فرض کنید میخواین توی View مربوط به هر محصول، تمام تصاویرش رو نشون بدین. میتونید از چنین کدی استفاده کنید:
    <?php foreach($model->images as $image) : ?>
    <img src="<?php echo Yii::app()->homeUrl . '/' . $image->album->folderName . '/' . $image->image; ?>" /><br />
    <?php endforeach; ?>
    آخرین ویرایش به وسیله MMSHFE : یک شنبه 31 فروردین 1393 در 08:59 صبح

  5. #5
    کاربر دائمی آواتار mostafa_shoakry
    تاریخ عضویت
    آذر 1388
    محل زندگی
    فعلا که ساکن اردبیلم
    سن
    36
    پست
    292

    Question نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    }[/PHP]
    حالا فرض کنید میخواین توی View مربوط به هر محصول، تمام تصاویرش رو نشون بدین. میتونید از چنین کدی استفاده کنید:
    <?php foreach($model->images as $image) : ?>
    <img src="<?php echo Yii::app()->homeUrl . '/' . $image->album->folderName . '/' . $image->image; ?>" /><br />
    <?php endforeach; ?>
    در واقع در قسمت بالا مشخص شد که من می تونم تمامی عکس های یک محصول رو به همراه نام پوشه اون بدست بیارم. حالا می خواییم بر عکس حرکت کنیم.
    می خوام بدونم یک عکس متعلق به کدوم محصول هست و نام پوشه اون چی هست. در این موقع چجوری دستور رو استفاده کنم؟
    امید وارم سوالم واضح باشه

  6. #6

    نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    خوب با دستور image->album$ میتونید ببینید پوشه یک عکس چیه و با image->products$ هم میتونید محصولاتی رو که عکس توی اونها بکار رفته پیدا کنید. دقت کنید که چون ارتباط بین جدول محصولات و تصاویر از نوع چند به چند هست، عکسها یک محصول مرتبط ندارن و با چند محصول در ارتباط هستن.

  7. #7
    کاربر دائمی آواتار mostafa_shoakry
    تاریخ عضویت
    آذر 1388
    محل زندگی
    فعلا که ساکن اردبیلم
    سن
    36
    پست
    292

    نقل قول: ایجاد ارتباط MANY_MANY و ایجاد ازتباط با چنیدن جدول همراه با Active Record

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    خوب با دستور image->album$ میتونید ببینید پوشه یک عکس چیه و با image->products$ هم میتونید محصولاتی رو که عکس توی اونها بکار رفته پیدا کنید. دقت کنید که چون ارتباط بین جدول محصولات و تصاویر از نوع چند به چند هست، عکسها یک محصول مرتبط ندارن و با چند محصول در ارتباط هستن.
    باور کنید تازه دارم Yii رو درک میکنم
    فک کنم انقد در موردش فک کرده بودم و البته تحقیق ، واسه مساله به این سادگی مغزم هنگیده بود

تاپیک های مشابه

  1. ایجاد ارتباط در Access
    نوشته شده توسط am_abbas65 در بخش Access
    پاسخ: 3
    آخرین پست: چهارشنبه 07 اردیبهشت 1384, 10:14 صبح
  2. ایجاد ارتباط با بانک اطلاعاتی هنگام طراحی .
    نوشته شده توسط bashir_nashi در بخش VB.NET
    پاسخ: 0
    آخرین پست: سه شنبه 10 آذر 1383, 08:20 صبح
  3. ایجاد ارتباط بین یک فایل Asp و database (SQL)
    نوشته شده توسط Emad499 در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 06 آبان 1383, 12:50 عصر
  4. ایجاد ارتباط شبکه های محلی در دو یا چند ساختمان بدون کابل
    نوشته شده توسط shahram_mkf در بخش شبکه و Networking‌
    پاسخ: 18
    آخرین پست: دوشنبه 26 مرداد 1383, 09:57 صبح
  5. ایجاد ارتباط بین Grid و Data حین اجرای برنامه
    نوشته شده توسط BehnamPro در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 5
    آخرین پست: شنبه 13 تیر 1383, 18:57 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •