Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhaba.

Multiple Db ile çalışıyorum. 2 modelim var

class Foo extends Model {
    protected $connection = 'pgsql1';

    public function boos() {
        return $this->hasMany(Boo::class, 'foo_id', 'id');
    }
}

class Boo extends Model {
    protected $connection = 'pgsql2';

    public function foo() {
        return $this->belongsTo(Foo::class, 'foo_id', 'id');
    }
}

gibi aktarılabilir.

karmaşık bir query yaparken 'whereHas()' kullanıyorum.

Foo::whereHas('boos', function($q){$q->where('name', 'xxx');})->get();

şeklinde. ama

SQLSTATE[42P01]: Undefined table: 7 ERROR: relation \"boos(tablo adı burada)\" does not exist

şeklinde error veriyor. connection tanımlamaları vs de var. neden böyle bir hata veriyor? bu hatayı alan ve daha önce çözen biri var mı? bir query builder'a birden fazla connection kullanması için bir parametre falan verebilir miyiz mesela?

Yardımcı olabilecek olan varsa şimdiden teşekkürler.

    alper Eloquent şu an desteklemiyor:

    https://laravel.com/docs/10.x/eloquent-relationships#querying-relationship-existence

    Eloquent does not currently support querying for relationship existence across databases. The relationships must exist within the same database.

    ama veri tabanları aynı sunucuda ise

    protected $table = 'db1.foos';
    protected $table = 'db2.boos';

    şeklinde modellere tablo adını veri tabanı adı ile verip deneyebilirsiniz ya da whereHas yerine whereExists ile DB::connection('pgsql2')->table(boos') gibi yaparak deneyebilirsiniz.
    https://laravel.com/docs/10.x/queries#where-exists-clauses