php - 为什么我的关系返回结果而不是“withCount”?
问题描述
我有一个模型,它与“where”和“if”有关系。我需要检索关系计数大于 1 的所有模型。
当我尝试使用“withCount”获取它时,我最终得到的模型与“shared_job_offers_count”的关系应该为 1。但是,它适用于某些模型。
我注意到当“if”中的“$this->isSubscribedPremium()”为真时会发生这种情况。
RELATIONSHIP
public function shared_job_offers() {
if($this->isSubscribedPremium()) {
return $this->hasMany('App\JobOffer')->where('disable_share', false);
} else {
return $this->hasMany('App\JobOffer')->where('manual_share', true);
}
}
RETRIEVING THE RESULTS
App\Employer::withCount('shared_job_offers')->get()->where('shared_job_offers_count', '>', 0)
回顾:
withCount 对某些模型返回 0,对其他模型返回 1 它主要在“$this->isSubscribedPremium()”为真时返回 0,如果我直接检索它,我可以获得所有正确的关系。
任何想法?
解决方案
推荐阅读
- c# - ASP.Net Core Web Api access-control-max-age 未在响应标头中发送
- javascript - 在 Webpack 项目中包含 KRPano
- tensorflow - Keras 输出的批量大小与我的训练集不同
- javascript - 在包装器中反应密钥道具
- c - BLE数据发送与nrf52
- postgresql - 确定每行中 JSON 对象中哪些字段包含最多空值/空值的最佳方法是什么?
- colors - 在 Julia 中定义 Dash 应用程序的背景颜色
- python - wxpython:只要第二帧打开就暂停代码
- plotly-dash - DASH plotly bootstrap 在打印时隐藏 div
- ruby-on-rails - 基于多租户 Rails 应用程序不会使用 gemacts_as_tenant 区分域