كيفاش تزيد المعلومات فقاعدة البيانات ب laravel & postgres الجزء الأول


فهاد الدرس الجديد لي غادي يكون من سلسلة laravel غادي نشوفوا une simple application لي كتزيد ف une base de données postgres معلومات عبارة عن des produits فهنا اختارينا نغيروا من mysql ل postgres باش نشوفوا نظام قواعد بيانات آخر وفهاد الجزء الأول غادي نشوفو كيفاش ن installer postgres منبعد ن configurer laravel باش تكونيكا مع النظام الجديد.

نظرة سريعة بالفيديو

1- تحميل المشروع

أول شيء غادي تديرو هو تثبيت composer لي غادي يمكنك من تثبيت laravel يمكنلك  تحملو من الموقع الرسمي من هنا من بعد غادي تفتح cmd غادي نكتب الأمر:

cd c:\xampp\htdocs يلا كنتي خدام ب xampp
كنتي خدام ب wamp غادي نكتب الأمر:
cd c:\wamp\www من بعد غادي تديرالأمر
composer create-project --prefer-dist laravel/laravel store-postgres
الإسم ديال المشروع هو store-postgres  من بعد ما يتزاد المجلد ف wamp/www أو xampp/htdocs منبعد غادي  نكتب الأمر: 
cd c:\xampp\htdocs\store-postgres 
كنتي خدام ب wamp غادي نكتب الأمر:
cd c:\wamp\www\store-postgres من بعد غادي تديرالأمر:
php artisan make:model Product -m
باش نزيدو la table ديالنا لي غادي تكون سميتها products منبعد غادي تمشي للمجلد database->migrations تما غادي تلقى ل migration تزادت كتبدا ب create_products غادي تزيد فيها الكود باش نزيدو la table ديالنا:

                                <?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateProductsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->integer('price');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('products');
    }
}

                            

2- إنشاء قاعدة البيانات

منبعد غادي تشوف الفيديو باش تعرف كيفاش تinstaller postgres وتزيد قاعدة بيانات جديدة :


منبعد غادي ن configurer ل application باش تستخدم postgres غادي نمشي ل config/database.php وغادي

نديرو تغيير بسيط غادي نزيدو ل pg connection هنا :

'default' => env('DB_CONNECTION', 'pgsql'),

منبعد غادي نمشي للملف env. وغادي نربط الإتصال مع قاعدة البيانات ديالي فكنعطي ل username ول password لي زدتي فل installation بالإضافة لقاعدة البيانات  :



                                DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=store-postgres
DB_USERNAME=postgres
DB_PASSWORD=123456
                            

3- الملف ProductsController.php

كنمشي ل app/Http/Controllers كنزيد ملف جديد كنسميه ProductsController.php لي غادي تكون فيه fonction index لي كتسترجع المنتوجات من قاعدة البيانات وكترسلهم للملف welcome منبعد كاين fonction store لي كتمكن من إضافة منتوج لقاعدة البيانات ثم كاين fonction destroy لي كتسترجع منتوج واحد بواسطة ل id وكتمسحو من قاعدة البيانات الكود ديال الملف هو :

                                <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Product;
class ProductsController extends Controller
{
    //
    public function index(){
        $products = Product::latest()->orderBy('created_at','DESC')->get();
        return view('welcome',compact('products'));
    }
    public function store(Request $request){
        $product = new Product();
        $product->title = $request->title;
        $product->price = $request->price;
        $product->save();
        return redirect()->route('home')->with(['success'=>'Produit ajouté']);
    }
    public function destroy($id){
        Product::findOrFail($id)->delete();
        return redirect()->route('home')->with(['success'=>'Produit supprimé']);
    }
}

                            

4- الملف Product.php

من بعد ف app كاين ل model Product.php ولي عبارة عن model فيه الكود لي كيعطي الأمر للlaravel باش يخلينا نعمرو المعلومات الخاصة بالمنتوج فجدول المنتوجات الكود ديال الملف هو :

                                    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    //
    public $fillable = ['title','price'];
}
                                


إشترك في قناتنا على اليوتيوب

بحث في الموقع


إشترك للتوصل بالجديد