راکت

restore user

20 پاسخ

سلام
خسته نباشید
یه سوالی داشتم دوستان ممنون میشم راهنماییم کنید
من با استفاده از softdeleteکاربران رو حذف میکنم بطوری که کاربران حذف شده در دیتابیس باقی میمونن و ادمین اگر خواست میتونه اونهارو restore کنه
حالا یه مشکلی دارم که بطور دستی باید بگم کدوم کاربر رو برگردونه
در حالیکه میخوام هر موقع روی restore زد بدون اینکه بهش آیدی بدم اونو برگردونهتوضیح تصویر رو وارد کنید

ثبت پرسش جدید

پاسخ‌ها

20
مشکات
مشکات
@meshkat315

تخصص: کاراموز

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

سلام. یه متد برای restoreکردن داخل کنترلر دارین. به اون متد یه آرگومان می‌دین که آیدی یوزره. route مربوط به این متد هم یه متغیر داخلشه، توی ویو هم با هلپر فانکشن ()route، آرگومان دومش، متغیر که آیدی یوزر باشه رو تعیین می‌کنین.

شاید پاسخ شما همین‌جا باشد

مشکات
مشکات
@meshkat315

تخصص: کاراموز

ببخشید میشه بیشتر راهنماییم کنید؟
این کنترلر توضیح تصویر رو وارد کنیدمربوط به یوزرم هست

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

این فقط متد index هست. داخل متد بایند کردین که اشتباهه، متد index شما نیازی به مدل بایندینگ نداره:

public function index (User $user)

یه روت PATCH بسازین:

/users/{id}/restore

یه متد هم داخل کنترلر داشته باشین مثلا به اسم restore:

public function restore($id)

حالا آیدی یوزر رو دارین، دیگه به جای دستی وارد کردن، از این متغیر id استفاده کنین.

مشکات
مشکات
@meshkat315

تخصص: کاراموز

usercontroller من از نوع resourceهست و نمیتونم متد جدیدی بهش اضافه کنم
یه کنترلر جدید ساختم و کاری رو که گفتید انجام دادم ولی restore انجام نمیشه😥

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

سلام
اشکال نداره از نوع restore باشه. کافیه یک route قسمت پائین route resource بسازید و به کنترلر مربوطه ارجاع به همراه method اون ارجاع بدید.
@a.ghaderi1375

مشکات
مشکات
@meshkat315

تخصص: کاراموز

@mohaligateway
سلام
عصرتون بخیر
واقعا ممنونم و عذرخواهی میکنم که به جواب نمیرسمتوضیح تصویر رو وارد کنید

مشکات
مشکات
@meshkat315

تخصص: کاراموز

مشکات
مشکات
@meshkat315

تخصص: کاراموز

اینکارو انجام میدم اما نمیدونم ایراد کجاست ک خروجی ندارم

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

GET           /users                      index   users.index
GET           /users/create               create  users.create
POST          /users                      store   users.store
GET           /users/{user}               show    users.show
GET           /users/{user}/edit          edit    users.edit
PUT|PATCH     /users/{user}               update  users.update
DELETE        /users/{user}               destroy users.destroy

از کدوم برای حذف کردن استفاده میکنی؟!

<form action="{{ action('Controller@destroy') }}" method="DELETE">
...
</form>

<form action="{{ action('Controller@destroy') }}" method="POST">
    <input type="hidden" name="_method" value="DELETE">
    ...
</form>

درخواستت post میشه دیگه؟!

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

به صورت زیر وارد کنید.

Route::post('/users/restore/{id}', 'User/UserController@restore');

بهتره کد ها رو هم وارد کنید تا راحتتر بشه پاسخ داد.
@a.ghaderi1375

مشکات
مشکات
@meshkat315

تخصص: کاراموز

@mohaligateway
چشم
الان این ارور رو دارمتوضیح تصویر رو وارد کنید

مشکات
مشکات
@meshkat315

تخصص: کاراموز

@juza66
سلام
از متد دیلیت برای حذف استفاده میکنم
براحتی حذف میشه
توی ری استور کردنش مشکل دارم

مشکات
مشکات
@meshkat315

تخصص: کاراموز

@if($user->isDeletedUser())
@can('restore-user')
<a href="{{route('admin.users.index' , ['user'=>$user->id])}}" class="btn btn-sm btn-warning mr-1 ">Restore</a>
@endcan
@endif

این کد قسمت ویوم هست
@mohaligateway

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

<a href="https://roocket.ir/{{route('admin.users.restore' , ['id'=>$user->id])}}" class="btn btn-sm btn-warning mr-۱ ">Restore</a>

user رو به id تبدیل کنید. برای کد از قسمت بالای ادیتور استفاده کنید.
نام restore رو هم باید روی route بسازید.
@a.ghaderi1375

مشکات
مشکات
@meshkat315

تخصص: کاراموز

Route::post('/users/{id}/restore', 'User\UserController@restore')->name('users.restore');

@mohaligatewayتوضیح تصویر رو وارد کنید

الان این ارور رو دارم

مشکات
مشکات
@meshkat315

تخصص: کاراموز

 <td class="d-flex">
                                            @if(! $user->isDeletedUser())
                                                @can('delete-user')
                                                    <form action="/admin/users/{{$user->id}}" method="post">
                                                        @csrf
                                                        @method('delete')
                                                        <button class="btn btn-sm btn-danger">حذف</button>
                                                    </form>
                                                @endcan

                                                @can('edit-user')
                                                    <a href="https://roocket.ir/{{route('admin.users.edit' , ['user'=>$user->id])}}" class="btn btn-sm btn-primary mr-1">ویرایش</a>
                                                @endcan

                                               @if($user->isStaffUser())
                                                   @can('staff-user-permissions')
                                                        <a href="https://roocket.ir/{{route('admin.users.permissions' , ['user'=>$user->id])}}" class="btn btn-sm btn-warning mr-1 ">دسترسی ها</a>
                                                    @endcan
                                                @endif
                                            @endif
                                                @if($user->isDeletedUser())
                                                    @can('restore-user')
                                                        <a href="https://roocket.ir/{{route('admin.users.restore' , ['id'=>$user->id])}}" class="btn btn-sm btn-warning mr-1 ">Restore</a>
                                                    @endcan
                                                @endif
                                        </td>
moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

متد form را باید تبدیل به post کنید.
@a.ghaderi1375

Saman
Saman
@samanzdev

تخصص: برنامه نویس وب

سلام
شما باید method فرم تون رو به post تبدیل کنید اون خطایی که میگیره مربوط به اینه که متود فرم تون get هستش.
@a.ghaderi1375

مشکات
مشکات
@meshkat315

تخصص: کاراموز

یک دنیا نه بیشتر از یه دنیا ممنونم ازتون
ان شاالله خدا به علمتون برکت بده🌺☘️😊
@mohaligateway
@samanzdev
@juza66
@muhammad

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

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