ali kiani
4 سال پیش توسط ali kiani مطرح شد
3 پاسخ

گرفتن آخرین رکود هر کاربر

سلام . یه جدول داریم user_id کلید خارجی این جدوله حالا میخوام آخرین رکورد هر کاربر در این جدول را بگیریم
کوئری این نتیجه چیه؟


ثبت پرسش جدید
سید حسین رضوی
تخصص : برنامه نویس وب و طراح رابط کار...
@hossein.r.1442 4 سال پیش مطرح شد
0
$user = User::find(1);
$user->articles()->first();

سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش مطرح شد
2

با سلام . @a.kiani110
باید نوع رابطه مشخص باشه مثلا یک به یک یا یک به چند ولی من روی یک به چند براتون مثال میزنم . مثلا هر کاربر چندین مقاله داره و هر مقاله متعلق به یک کاربره . میشه رابطه یک به چند بین user و Article که طبیعتا داخل جدول article فیلدی به نام user_id بعنوان کلید خارجی دارید.
اول داخل مدل ها باید رابطه ها رو تعریف کنید : برای مثال شما داخل مدل User این رابطه رو برقرار میکنید :

public function articles()
  {
  return $this->hasMany(Article::class);
  }

و بعد جایی که خواستید مطالب مربوط به کاربر رو نمایش بدین ( مطالبی که کاربر مورد نظر ثبت کرده ) از کد زیر استفاده میکنید :

$user = User::find(x) // x دریافت یوزر با آیدی 
$myArticles = $user->articles()->get(); // همه مقالات مربوط به کاربر
$myLastArticle = $user->articles()->last(); // اخرین مقاله مربوط به کاربر

امیدوارم مفید بوده باشه . موفق باشید


ali kiani
@a.kiani110 4 سال پیش مطرح شد
0

دوستان گفتم آخرین رکورد (هر)کاربر نه یه کاربر تنها جدولی که کلید خارجی کاربر را داره نسبت به جدول کاربر belongsTo هست


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام