با سلام
داخل UsersController در متد Index دارم لیست تمام کاربرا را به صورت paginate میگیرم و مشکلی نیست
حالا کاربرا یه ستون در جدول user دارن به اسم admin_id که توش آیدی کاربری که نماینده کاربر موردنظر هست ذخیره میشه
من میخوام توی جدولی که در خروجی کد زیر به ویو میفرستم در یک ستون از جدول مشخصات نماینده کاربر هم بزارم ولی نمیدونم چطوری
public function index()
{
$users = User::where('role','!=' ,'10' )->orderBy('id', 'DESC')->paginate(20);
return view('dashboard.users.list', compact('users'));
}
من این کار را برای کاربرانی که وارد پروفایلشون میشم را انجام دادم ولی توی لیست کاربران نمیتونم
این کدی هست که برای کاربر تک مشخصات نمایندشو برمیگردونه
public function show($id)
{
$user = User::findOrFail($id);
$admins = User::where('role', 1)->get();
$userAdmin = User::where('id', $user->admin_id)->first();
return view('dashboard.users.show', compact('user', 'admins','userAdmin'));
}
ممنون میشم کمک کنید
سپاس
تو مدل User این متد رو اضافه کنید
public function admin() {
return $this->belongsTo(User::class, 'admin_id');
}
بعد به این صورت عمل کنید: with('admin')
$users = User::with('admin')->where('role','!=' ,'10' )->orderBy('id', 'DESC')->paginate(20);
return view('dashboard.users.list', compact('users'));
بعد در ویو به این شکل دسترسی دارید:
$user->admin->name
سلام یاسین جان،
اینجوری که متوجه شدم شما میخوای به اطلاعات ( مثل اسم و فامیل ) admin_id رو بدست بیاری...
بهترین کاری که میتونی انجام بدی اینه که relation تعریف کنی بین مدل ها و از طریق رابطه ها به اطلاعات تیبل admin دسترسی پیدا کنی.
https://roocket.ir/series/learn-laravel/episode/51
این ویدیو رو ببین حتما
@abedim910
سلام عزیز
من روابط بین جداول ندارم برای این کار
کلا تمام چیزهایی که گفتم توی جدولی به اسم Users هست
الان با کدی که شما دادین خطای زیر را دارم
Trying to get property 'name' of non-object (View: C:\wamp64\www\nsms\resources\views\dashboard\users\list.blade.php)
اینم تصویر ساختار جدول کاربران
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟