How to specify Laravel relationships based on two (or more) columns (composite keys)

In Laravel Eloquent ORM, there is no way to define a relationship from one model to another by matching more than one column.

For instance, if you want to do something as the below with eager loading, the $this->blog_id will be null while processing

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
    public function posts()
        return $this->hasMany(Post::class)->where('blog_id', $this->blog_id);

I faced this problem and tried many approaches and it would not work till I found the package that works perfectly for me.

you can check the package out with the below link.

There is no need to duplicate how to use the package here cos the package docs are explanatory enough.