Login Dengan Social Media di Laravel Menggunakan Socialite #3 : One to Many Eloquent Relationships


Login Dengan Social Media di Laravel Menggunakan Socialite #3 : One to Many Eloquent Relationships

Login Dengan Social Media di Laravel Menggunakan Socialite #3 : One to Many Eloquent Relationships - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar tentang One to Many Relationships dari Model User ke SocialAccount.

Ini digunakan karena bisa jadi 1 User bisa memiliki lebih dari 1 akun Sosial Media, maka kita akan membuat Relationships dari kedua table ini. Langsung saja kita mulai.

Langkah 1 - Hash Many

Silahkan teman-teman buka file Model App/User.php dan silahkan teman-teman tambahkan kode berikut ini di dalam Model.

/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function socialAccounts()
{
  return $this->hasMany(SocialAccount::class);
}

Di atas, kita akan memberitahu aplikasi kita bahawa kita akan melakukan relasi Many ke Model atau table SocialAccount.

Jika file model App/User.php di tulis dengan lengkap, kurang lebih seperti berikut ini :

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    /**
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function socialAccounts()
    {
        return $this->hasMany(SocialAccount::class);
    }

}

Langkah 2 - BelongsTo

Pada tahap kali ini kita akan deklarasikan bahwa Model atau Table SocialAccount ini terhubung dengan table / Model User.

Silahkan teman-teman tambahkan function dibawah ini di dalam Model App/SocialAccount.php

/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
  return $this->belongsTo(User::class);
}

Atau jika di tulis dengan lengkap, kurang lebih seperti berikut ini :

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class SocialAccount extends Model
{
    /**
     * @var array
     */
    protected $guarded = [];

    /**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

Sampai disini pembahasan tentang bagaimana cara membuat Relationship Eloquent One to Many di Laravel, di artikel selanjutnya kita semua akan belajar bagaimana cara membuat Auth di Laravel.

Terima Kasih.


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami