@samanf33
با سلام . ریلیشن رو توی مدلتون تعریف کردین ؟ اگر درست تعریف کردین به اینصورت میتونید شرطتونو برقرار کنید :
$student = Student::findOrFail(1);
$student->teacher()->where('age' , '>' , 30)->get();
در واقع اون teacher اسم رابطه هست با جدول teacher که قاعدتا توی مدل student تعریف کردین . اگر یک به یک هست رابطه که مشکلی نیست اگر یک به چنده و یک دانشجو میتونه چند معلم داشته باشه بهتره ریلیشن رو جمع بنویسید . بصورت teachers
اگر توی تعریف رابطه مشکلی بود مطرح کنید . موفق باشید
کد زیر را نوشتم استفاده کنید
در خط where میتونید شرط را تغییر بدید
الا گذاشتم روی (مساوی و یا بزرگتر از 30)
$student = DB::table('student')
->join('teacher', 'teacher.id', '=', 'student.teacher_id')
->select('student.id', 'student.name', 'student.teacher_id', 'teacher.name', 'teacher.age')
->where('teacher.age','>=' ,'30')
->orderBy('student.id', 'DESC')->get();ممنونم . ولی راه ساده تری که با relationهای لاراول بشه پیاده سازی کرد نیست ؟
شاید پاسخ شما همینجا باشد
چون دیدم دستور join را ننوشتید اون کد را نوشتم براتون که براتون راحت باشه
بله laravel دستورات مخصوص relation داره که از توابعی مثل hasMany و morphToMany و ... استفاده میکنه
در لینک زیر آموزش کاملشون هست
https://laravel.com/docs/7.x/eloquent-relationships