تالار گفتمان nCIS.ir

نسخه‌ی کامل: join کردن
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من داخل جدول پست ها از Relations ها استفاده کردم

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

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

کوئری من این هستش
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
من مثال زدم. شما باید اسامی رو دقیقاً به همون شکلی که توی دیتابیس هست بگذارین. جدول users وجود نداره وگرنه نمیگفت doesn't exist