Laravel Eloquent: 动态地从一种方法转移到另一种方法

Laravel Eloquent: shifting from a method to another dynamicaly

是否可以使用 Eloquent 生成器动态地从一种方法转换到另一种方法?
像这样:

User::whereHas('licences', function($query) use($data) {

  // Query here...
 
if ($foo == $bar) {
   })->get();
}
else {
   })->paginate(15);
}

有办法实现吗?

它是一个构建器,只需将它分配给一个变量:

$query = User::whereHas(...);

$result = $foo == $bar ? $query->get() : $query->paginate(15);

使用这个:

$user = User::where(/* some condition */);

if ($foo == $bar) {
  $result = $user->get();
}
else {
   $result = $user->paginate(15);
}