دورة laravel للمبتدئين الدرس الخامس


فالدرس السابق من دورة laravel للمبتدئين شفنا كيفاش درنا الإضافة فقاعدة البيانات من بعد شفنا كيفاش استرجعنا المعلومات لي زدنا وعرضناهم.
فهاد الدرس غادي نشوفوا كيفاش نديرو تعديل على post ومنبعد غادي نشوفوا كيفاش نمسحو post من قاعدة البيانات.


1- تعديل post فقاعدة البيانات

فباش نعدل post أول حاجة خصني نسترجعوا بل id ديالو عاد من بعد غادي ندير التعديل.

فكنسترجع ل post من بعد كنعطي لكل حقل قيمة جديدة لي بغيت تعوض القديمة.

منبعد كن valider التعديل باستعمال save.

منبعد غادي تمشي للرابط 


غادي تقوم بتعديل ل post لي عندو ل id واحد فغادي تعرض رسالة التعديل بنجاح.


فالكود لي زدنا ف PostsController هو:

                                //
<?php

namespace App\Http\Controllers;
use App\Post;
use Illuminate\Http\Request;

class PostsController extends Controller
{
    //
    public function index(){
        $posts = Post::all();
        foreach($posts as $post){
            echo $post->title;
        }
    }
    public function create(){
        $post = new Post();
        $post->title = 'premier post';
        $post->body = 'post body';
        $post->save();
        echo 'post ajouté';
    }
    public function edit($id){
        $post = Post::find($id);
        $post->title = 'premier post modifié';
        $post->body = 'post body modifié';
        $post->save();
        echo 'post modifié';
    }
}
                            

2- حذف post من قاعدة البيانات

فباش نحذف post أول حاجة غادي نزيد fonction نسميها delete لي كتاخذ ل id ديال ل post لي غادي نمسح.

منبعد خصني نسترجع  ل post بل id ديالو عاد من بعد غادي ندير الحذف.

فكنسترجع ل post منبعد كن valider الحذف باستعمال ل fonction delete.

فالكود لي زدنا ف PostsController هو:

                                //
<?php

namespace App\Http\Controllers;
use App\Post;
use Illuminate\Http\Request;

class PostsController extends Controller
{
    //
    public function index(){
        $posts = Post::all();
        foreach($posts as $post){
            echo $post->title;
        }
    }
    public function create(){
        $post = new Post();
        $post->title = 'premier post';
        $post->body = 'post body';
        $post->save();
        echo 'post ajouté';
    }
    public function edit($id){
        $post = Post::find($id);
        $post->title = 'premier post modifié';
        $post->body = 'post body modifié';
        $post->save();
        echo 'post modifié';
    }
    public function delete($id){
        $post = Post::find($id);
        $post->delete();
        echo 'post supprimé';
    }
}
                            

3- إضافة ROUTE ف WEB.PHP

فباش نتمكن من استعمال ل fonction delete لازم منزيد route لي غادي يمكن من الحذف فكنمشي ل web.php كنزيد route.

فكنعطي ل url منبعد ل fonction delete لي فل controller PostsController.

غادي تقوم بحذف ل post لي عندو ل id واحد فغادي تعرض رسالة الحذف بنجاح.

فالكود لي زدنا ف web.php هو:

                                //web.php

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('/posts','PostsController@index');

Route::get('/edit/{id}/post','PostsController@edit');

Route::get('/create','PostsController@create');

Route::get('/delete/{id}/post','PostsController@delete');