Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الخامس

منذ 10 أشهر imadbelasri Laravel
LA

فهاد الجزء الخامس من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدوا ل models ديالنا وغادي نزيدو حتى les relations ما بيناتهم.


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


1- إضافة Laravel Model Category

غادي تزيد Laravel Model سميه Category ولي فيه غادي تكون les relations الخاصة به.

الكود ديال الملف هو :

                                                    
                                                        //
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    use HasFactory;

    public function questions()
    {
        return $this->hasMany(Question::class);
    }

    public function getRouteKeyName()
    {
        return 'slug';
    }
}
                                                    
                                                

2- إضافة Laravel Model Question

غادي تزيد Laravel Model سميه Question ولي فيه غادي تكون les relations الخاصة به.

الكود ديال الملف هو :

                                                        
                                                            //
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Question extends Model
{
    use HasFactory;

    protected $fillable = [
        'title', 'body', 'user_id', 'collective_id',
        'votes', 'category_id', 'slug', 'deleted_at'
    ];

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function category()
    {
        return $this->belongsTo(Category::class);
    }

    public function comments()
    {
        return $this->hasMany(Comment::class);
    }

    public function collective()
    {
        return $this->belongsTo(Collective::class)->withDefault([
            'title' => 'Not Availlable'
        ]);
    }

    public function owner($user_id)
    {
        return auth()->user()->id === $user_id;
    }

    public function getRouteKeyName()
    {
        return 'slug';
    }
}
                                                        
                                                    

3- إضافة Laravel Model Collective

غادي تزيد Laravel Model سميه Collective ولي فيه غادي تكون les relations الخاصة به.

الكود ديال الملف هو :

                                                        
                                                            //
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Collective extends Model
{
    use HasFactory;

    protected $fillable = [
        'title', 'description', 'user_id',
        'members', 'category_id', 'slug', 'deleted_at'
    ];

    public function questions()
    {
        return $this->hasMany(Question::class);
    }

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function category()
    {
        return $this->belongsTo(Category::class);
    }

    public function owner($user_id)
    {
        return auth()->user()->id === $user_id;
    }

    public function getRouteKeyName()
    {
        return 'slug';
    }
}
                                                        
                                                    

4- إضافة Laravel Model Comment

غادي تزيد Laravel Model سميه Comment ولي فيه غادي تكون les relations الخاصة به.

الكود ديال الملف هو :

                                                        
                                                            //
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Comment extends Model
{
    use HasFactory;

    protected $fillable = ['body', 'user_id', 'question_id'];

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function getCreatedAtAttribute($value)
    {
        return \Carbon\Carbon::parse($value)->format('d-M-Y H:i:s');
    }
}
                                                        
                                                    

دروس ذات صلة

LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الأول

فهاد ل projet الجديد غادي نقادو Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija المستخدم كيز...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الثاني

فهاد الجزء الثاني من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدو Login & Logo...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الثالت

فهاد الجزء الثالت من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نكملوا الجزء الخاص...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الرابع

فهاد الجزء الجديد من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدوا الصفحة الرئ...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء السادس

فهاد الجزء السادس من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدو ل collective...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء السابع

فهاد الجزء السابع من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدو ل questions...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء الثامن

فهاد الجزء الثامن من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نزيدوا Vuejs ل pro...


LA

Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija الجزء التاسع

فهاد الجزء التاسع والأخير من Mini Stack Overflow ب Laravel 8 Darija & Vuejs 2 Darija غادي نشارجيو ل...