脚本宝典收集整理的这篇文章主要介绍了php – 与Eloquent的多级别hasManyThrough关系,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的结构:
Company id name Admin id company_id name Offer id admin_id name Application id offer_id candidat_id
每个管理员都是公司的一部分,可以发布要约,候选人可以根据该要约提出申请.
我尝试在我的公司模型中使用hasManyThrough关系,如下所示:
public function applications() { return $this->hasManyThrough("Application","Offer"); }
但是我收到以下错误:
sqlstatE[42S22]: Column not found: 1054 UnkNown column 'offers.entrePRise_id' in 'field list' (sql: select `applications`.*,`offers`.`entreprise_id` From `applications` inner join `offers` on `offers`.`id` = `applications`.`offer_id` where `offers`.`entreprise_id` in (1))
这是有道理的,因为它认为要约被列入公司而不是管理员.
如何进行设置以便查找该公司的管理员,而无需获取公司的所有管理员,然后循环遍历它们,获取每个管理员的所有应用程序?
这可行,但当Eloquent提供这些让我们的生活更轻松的关系时,这似乎是一种乏味的做法.有没有更优雅的方式来实现我想要的?
我创建了一个具有无限级别的HasManyThrough关系:Repository on GitHub
安装完成后,您可以像这样使用它:
class Company extends Model { use \Staudenmeir\EloquentHasManyDeep\HasRelationships; public function applications() { return $this->hasManyDeep(Application::class,[Admin::class,Offer::class]); } }
以上是脚本宝典为你收集整理的php – 与Eloquent的多级别hasManyThrough关系全部内容,希望文章能够帮你解决php – 与Eloquent的多级别hasManyThrough关系所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。