سلام
خسته نباشید
یه سوالی داشتم دوستان ممنون میشم راهنماییم کنید
من با استفاده از softdeleteکاربران رو حذف میکنم بطوری که کاربران حذف شده در دیتابیس باقی میمونن و ادمین اگر خواست میتونه اونهارو restore کنه
حالا یه مشکلی دارم که بطور دستی باید بگم کدوم کاربر رو برگردونه
در حالیکه میخوام هر موقع روی restore زد بدون اینکه بهش آیدی بدم اونو برگردونه
سلام. یه متد برای restoreکردن داخل کنترلر دارین. به اون متد یه آرگومان میدین که آیدی یوزره. route مربوط به این متد هم یه متغیر داخلشه، توی ویو هم با هلپر فانکشن ()route، آرگومان دومش، متغیر که آیدی یوزر باشه رو تعیین میکنین.
شاید پاسخ شما همینجا باشد
این فقط متد index هست. داخل متد بایند کردین که اشتباهه، متد index شما نیازی به مدل بایندینگ نداره:
public function index (User $user)
یه روت PATCH بسازین:
/users/{id}/restore
یه متد هم داخل کنترلر داشته باشین مثلا به اسم restore:
public function restore($id)
حالا آیدی یوزر رو دارین، دیگه به جای دستی وارد کردن، از این متغیر id استفاده کنین.
سلام
اشکال نداره از نوع restore باشه. کافیه یک route قسمت پائین route resource بسازید و به کنترلر مربوطه ارجاع به همراه method اون ارجاع بدید.
@a.ghaderi1375
@mohaligateway
سلام
عصرتون بخیر
واقعا ممنونم و عذرخواهی میکنم که به جواب نمیرسم
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 میشه دیگه؟!
به صورت زیر وارد کنید.
Route::post('/users/restore/{id}', 'User/UserController@restore');
بهتره کد ها رو هم وارد کنید تا راحتتر بشه پاسخ داد.
@a.ghaderi1375
@mohaligateway
چشم
الان این ارور رو دارم
@juza66
سلام
از متد دیلیت برای حذف استفاده میکنم
براحتی حذف میشه
توی ری استور کردنش مشکل دارم
@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
<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
<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>متد form را باید تبدیل به post کنید.
@a.ghaderi1375
سلام
شما باید method فرم تون رو به post تبدیل کنید اون خطایی که میگیره مربوط به اینه که متود فرم تون get هستش.
@a.ghaderi1375
یک دنیا نه بیشتر از یه دنیا ممنونم ازتون
ان شاالله خدا به علمتون برکت بده🌺☘️😊
@mohaligateway
@samanzdev
@juza66
@muhammad