رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
join کردن
#1
سلام
من داخل جدول پست ها از Relations ها استفاده کردم

حالا مبخوام نام نویسنده که داخل جدول user  و دسته بندی مطلب که داخل جدول Category نشون بدم

چجوری باید این ها رو به هم join کنم
پاسخ
تشکر شده توسط:
#2
echo $post->user->name;
echo $post->category->name;
پاسخ
تشکر شده توسط:
#3
ممنون ولی من توی کوئری مشکل دارم ( دارم قسمت دهم فیلم اموزشتون رو میبینم و میخوام دسته بندی و نام نویسنده رو  هم نمایش بدم )
و از کلاس استفاده نمیکنم
پاسخ
تشکر شده توسط:
#4
کدتون رو بگذارین. باید تاپیک توی بخش مربوطه ایجاد میکردین ولی بهرحال این کوئری شاید کمک کنه:
SELECT * FROM `posts` `p`
LEFT JOIN `categories` `c` ON `c`.`id`=`p`.`category_id`
LEFT JOIN `users` `u` ON `u`.`id`=`p`.`user_id`
پاسخ
تشکر شده توسط: mohammadjavad
#5
یه سوال در مورد  p  و c و u
این سه تا کارشون این هست که مثلا p به posts  و c به categories و u  به users  نسبت داده میشه؟

اینجوری میشه کار کرد؟
SELECT * FROM `posts`
LEFT JOIN `categories` ON `categories`.`id`=`posts`.`category_id`
LEFT JOIN `users` ON `users`.`id`=`posts`.`user_id`
پاسخ
تشکر شده توسط:
#6
بله ولی با اسامی مستعار کار خیلی راحتتر میشه. اینطور نیست؟
پاسخ
تشکر شده توسط: mohammadjavad
#7
درسته راحت تره

کوئری من این هستش
SELECT * FROM `posts` WHERE (`visile` = '1' ) ORDER BY `id` DESC LIMIT 5

الان اینجوری استفاده میکنم اما چیزی بالا نمیاد

SELECT * FROM `posts` `p`
                                           LEFT JOIN `categorise` `c` ON `c`.`id`=`p`.`category_id`
                                           LEFT JOIN `users` `u` ON `u`.`id`=`p`.`user_id`
                       WHERE (`visile` = '1' ) ORDER BY `id` DESC LIMIT 5

ارور هم اینه
تیبل users هم وجود داره

MySQL said: [عکس: dot.gif]
کد:
#1146 - Table 'myblog.users' doesn't exist
پاسخ
تشکر شده توسط:
#8
من مثال زدم. شما باید اسامی رو دقیقاً به همون شکلی که توی دیتابیس هست بگذارین. جدول users وجود نداره وگرنه نمیگفت doesn't exist
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان