ფუნქციების შექმნა, განახლება და წაშლა Laravel

ფუნქციების შექმნის, განახლებისა და წაშლის შესაქმნელად Laravel, მიჰყევით ამ ნაბიჯებს:

განსაზღვრეთ Route

დაიწყეთ s-ის განსაზღვრით route, რათა გაუმკლავდეს მოქმედებების შექმნას, განახლებას და წაშლას.

Route::get('/users', 'UserController@index')->name('users.index');
Route::get('/users/create', 'UserController@create')->name('users.create');
Route::post('/users', 'UserController@store')->name('users.store');
Route::get('/users/{id}/edit', 'UserController@edit')->name('users.edit');
Route::put('/users/{id}', 'UserController@update')->name('users.update');
Route::delete('/users/{id}', 'UserController@destroy')->name('users.destroy');

ზემოთ მოყვანილ მაგალითში ჩვენ განვსაზღვრავთ route s-ს მომხმარებლის შესაქმნელად, მომხმარებლის შესანახად, მომხმარებლის რედაქტირებისთვის, მომხმარებლის განახლებისთვის და მომხმარებლის წასაშლელად.

 

განსაზღვრეთ Controller

შემდეგი, განვსაზღვროთ მეთოდები controller s-დან მოთხოვნების დასამუშავებლად route.

<?php  
  
namespace App\Http\Controllers;  
  
use App\Models\User;  
use Illuminate\Http\Request;  
  
class UserController extends Controller  
{  
    public function index()  
    {  
        $users = User::all();  
        return view('users.index', compact('users'));  
    }  
  
    public function create()  
    {  
        return view('users.create');  
    }  
  
    public function store(Request $request)  
    {  
        $validatedData = $request->validate([  
            'name' => 'required',  
            'email' => 'required|email',  
        ]);  
  
        $user = User::create($validatedData);  
  
        return redirect()->route('users.index')->with('success', 'User created successfully.');  
    }  
  
    public function edit($id)  
    {  
        $user = User::findOrFail($id);  
        return view('users.edit', compact('user'));  
    }  
  
    public function update(Request $request, $id)  
    {  
        $validatedData = $request->validate([  
            'name' => 'required',  
            'email' => 'required|email',  
        ]);  
  
        $user = User::findOrFail($id);  
        $user->update($validatedData);  
  
        return redirect()->route('users.index')->with('success', 'User updated successfully.');  
    }  
  
    public function destroy($id)  
    {  
        $user = User::findOrFail($id);  
        $user->delete();  
  
        return redirect()->route('users.index')->with('success', 'User deleted successfully.');  
    }  
}  

თითოეულ მეთოდში შეგიძლიათ შეასრულოთ შესაბამისი მოქმედებები, როგორიცაა ფორმის ჩვენება, ახალი მონაცემების შენახვა, არსებული მონაცემების განახლება და მონაცემების წაშლა.

 

მომხმარებლის შექმნა Interface

შექმენით მომხმარებელი interface( views) ფორმების საჩვენებლად და მონაცემების სანახავად. Მაგალითად:

სია( views/users/index.blade.php):

@foreach($users as $user)  
    <p>{{ $user->name }}- {{ $user->email }}</p>  
@endforeach  

ფორმის რედაქტირება( views/users/create.blade.php):

<form method="POST" action="{{ route('users.store') }}">  
    @csrf  
    <input type="text" name="name" placeholder="Name">  
    <input type="email" name="email" placeholder="Email">  
    <button type="submit">Create User</button>  
</form>  

ფორმის რედაქტირება( views/users/edit.blade.php):

<form method="POST" action="{{ route('users.update', $user->id) }}">  
    @csrf  
    @method('PUT')  
    <input type="text" name="name" value="{{ $user->name }}">  
    <input type="email" name="email" value="{{ $user->email }}">  
    <button type="submit">Update User</button>  
</form>  

 

მონაცემთა დამუშავება

მონაცემთა შენახვისა და განახლების მეთოდებში controller, შეგიძლიათ გამოიყენოთ Eloquent მეთოდები მონაცემთა ბაზაში მონაცემთა შესანახად და განახლებისთვის.

 

შეტყობინებების ჩვენება

და ბოლოს, თქვენ შეგიძლიათ აჩვენოთ მომხმარებლისთვის წარმატების ან შეცდომის შეტყობინებები შექმნის, განახლებისა და წაშლის მოქმედებების შესრულების შემდეგ.

  • გამოიყენეთ Laravel Session წარმატების ან შეცდომის შეტყობინებების საჩვენებლად ნახვებში.

 

ამ ნაბიჯების შემდეგ, თქვენ წარმატებით შექმენით ფუნქციების შექმნა, განახლება და წაშლა Laravel.