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


فهاد الدرس الرابع من دورة laravel للمبتدئين غادي نكملو الدورة ديالنا بالتطرق لكيفاش نستعمل ل model ول controller باش نزيد معلومات فقاعدة البيانات ومنبعد كيفاش ندير باش نسترجع هاد المعلومات لي زدت ونعرضهم.


1- إضافة المعلومات فقاعدة البيانات باستعمال ل model

فباش نزيد لمعلومات ف la table posts غادي نمشي ل controller PostsController غادي نزيد fonction create فهنا غادي نزيدو المعلومات مباشرة من بعد غادي نشوفوا les formulaires.

فغادي نخدم بل model Post ولهاد الغرض غادي نزيدو فأول ال controller باستعمال use App\Post فهنا كنحدد بلي ل Post model كاين ف app وبلي غادي نستعملو.

منبعد داخل ل fonction create كن créer l'objet من la classe Post حيت ل model راه class.

منبعد كنعطي لكل حقل قيمة باستثناء ل id لي كيتزاد اتوماتيكيا.

منبعد كنخزن لإضافة باستعمال save.

وكنعرض رسالة نجاح فالكود لي زدنا ف PostsController هو:

                                //
<?php

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

class PostsController extends Controller
{
    //
    public function index(){
        echo 'index page';
    }
    public function create(){
        $post = new Post();
        $post->title = 'premier post';
        $post->body = 'post body';
        $post->save();
         echo 'post ajouté';
    }
    public function edit($id){
        echo 'post à modifier : '.$id;
    }
}
                            

2- إضافة route ف web.php

فباش نتمكن من استعمال ل fonction create لازم منزيد route لي غادي يمكن من الإضافة فكنمشي ل web.php كنزيد route.

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

فدبا يلا مشيت ل http://localhost/laravelProject/public/create 

غادي نلقى النتيجة التالية :


ويلا مشيتي ل table post غادي تلقى ل post تزاد.

الكود لي زدنا ف 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');
                            

3- استرجاع وعرض المقالات

فباش نسترجع المعلومات من قاعدة البيانات غادي نمشي ل fonction index لي ف PostsController غادي نزيد variable posts لي غادي تاخد les posts لي عندي ف la table posts ولي كنسترجعهم بهاد الطريقة ()Post::all.

منبعد كنخدم ب foreach باش كنعرض les titres ديال les posts فدبا يلا مشيت ل 


غادي نلقى النتيجة :



فحيت عندي post واحد فهو لي معروض.

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

 

                                //PostsController .php

<?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){
        echo 'post à modifier : '.$id;
    }
}