Laravel Eloquent多对多查询whereIn

Ang*_*alu 10 many-to-many laravel laravel-eloquent

在我的应用程序已经更新从关系one-to-manymany-to-many,我试图找出一种方法来坚持相关的功能.

假设我有两张相关的桌子,例如狗和主人.如果我拥有一系列所有者,并且我正在尝试为这些所有者获取狗ID列表,我该如何雄辩地做到这一点?

类似的问题在这里被问到:https: //laracasts.com/discuss/channels/laravel/getting-many-to-many-related-data-for-an-array-of-elements

那么,我如何获得阵列中的Dog模型Owner呢?

同样的事情,$associatedDogs = Dog::whereIn('owner_id',$ListOfOwners)->get();是一个One-To-Many关系,但对Many-to-Many.

Ale*_*nin 28

使用whereHas()方法:

$dogs = Dog::whereHas('owners', function($q) use($ownerIds) {
    $q->whereIn('id', $ownerIds);
})->get();
Run Code Online (Sandbox Code Playgroud)