سلام من تازه لاراول رو یاد گرفتم الان میخوام تو صفحه حساب کاربری شخصی که لاگین هست این موارد رو بنویسم:
نام و ایمیل از جدول user
تاریخ انقضا اشتراک کاربر از جدول sub
(بعضی کاربر ها که اشتراک تهیه کردن تو جدول sub اطلاعاتشون ذخیره میشه)
این کار ها رو کردم:
مدل user:
public function sub(){
return $this->hasOne('sub');
}
تو مدل sub چیزی ننوشتم
این پایینی controll ام هست:
public function index()
{
$detail = user::find(1)->sub();
$users = Auth::user();
return view('account',compact('users','detail'));
}
و این هم صفحه blade اکانت کاربر هست(که برای تست خواستم تاریخ انقضا اشتراک اش رو چاپ کنم):
{{$detail->expired}}
خطایی که میگیرم:
Class "sub" not found
سلام به شما دوست عزیز.
اول لازم میدونم چندتا نکته رو خدمتتون عرض کنم. (خدایی نکرده قصد بی احترامی ندارم و تنها هدفم کمک به افرادی هست که دارن مسیر یادگیری را اشتباه میرن جلو)
یکی از ویژگی هایی که داخل افرادی تازه کار دیده میشه به جای اینکه وقت بذارن و مفاهیم پایه رو به درستی یاد بگیرن و بعد وارد پروژه بشن، مفاهیم پایه رو به خوبی درک نمیکنن و داخل این جور مسائل گیر میکنن، پس توصیه من به شما اینه که از سایت لاراول مفاهیم رو به درستی یاد بگیرید و بعد شروع به پیاده سازی کنید.
و اما جواب سوالتون، شما باید چندتا کار انجام بدین:
زمانی که میگین رابطه یک به یک هست پس باید این رابطه رو داخل مدل هاتون تعریف کنید.
مدل User:
public function sub()
{
return $this->hasOne(Sub::class);
}
مدل Sub:
public function user()
{
return $this->belongsTo(User::class);
}
کنترلر:
public function index()
{
return view('account');
}
بلید:
{{ auth()->user()->name }}
{{ auth()->user()->email}}
{{ auth()->user()->sub->expired }}
موفق باشید.
نکات دوست عزیز @rezajahangir کاملا صحیح هست. فقط دو مورد اصلاحیه ریز داره:
مدل User:
public function sub() {
return $this->hasOne(Sub::class);
}
مدل Sub:
public function user() {
return $this->belongsTo(User::class);
}
سلام به شما جناب @mhyeganeh عزیز.
بله درست میفرمایید من جا به جا نوشتم، آخه دیشب آخر وقت داشتم جواب میدادم دیگه خون به مغزم نرسید.😂
دوست عزیز @alavi.gavad موردی که جناب @mhyeganeh فرمودن رو داخل پاسخی که دادم اصلاح کردم و شما تمام مواردی که گفتم رو انجام بدین کدتون به درستی کار میکنه.
موفق باشید.
خییلی ممنون اقای @mhyeganeh و @rezajahangir که سوال بنده رو کامل پاسخ دادین
مواردی که هم که درمورد یادگیری مفاهیم و خوندن doc لاراول گفتین حتما تو برنامه ام میذارم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟