我有3张 table :
联盟 - 协会 - 用户
一个协会属于一个联邦 .
联邦有很多协会
联盟有一个总裁:president_id,指的是用户模型
协会有一个总裁:president_id,指的是用户模型
我想得到什么:
属于fede_id == Auth :: user() - > id的联盟的所有关联
我试过了:
$associations = Association::with(['federation' =>function($query){
$query->where('federation.president_id', Auth::user()->id);
}])->get();
并且:
$associations = Association::with('federation')
->where('federation.president_id', Auth::user()->id)
->get();
但在第一种情况下,我将联邦关系的所有关联都归结为null,而在第二种情况下,它不知道federation.president_id,因为它查询表'关联'
知道什么是错的吗?
1 回答
with()
仅修改预先加载的关系 . 为了根据其关系修改查询,您正在寻找whereHas()
: