WhereHas()/或者没有按预期约束查询

 小明爱微笑_401 发布于 2023-02-02 21:27

我正在使用新的whereHas方法在Laravel 4.1中为急切加载的关系添加约束.

$broadcast = $broadcast->whereHas('season', function( $query ) use ( $parameterValues ){
              $query->where('name', '2011-12' );
          });
      }

在这个例子中,我正在寻找足球/足球广播,其中的关系是广播belongsTo季节

我想为团队(俱乐部)添加约束,其中关系是广播hasOne家庭俱乐部和广播hasOne离开俱乐部.我想要一个团队(利物浦)是主场或客场俱乐部的结果,所以我尝试使用orWhereHas- L4.1中添加的一个特色

        $broadcast = $broadcast->with('homeClub')->whereHas('homeClub', function( $query ) use ( $parameterValues ){
              $query->where('abb', $parameterValues['club_abbs'] );
          });
          $broadcast = $broadcast->with('awayClub')->orWhereHas('awayClub', function( $query ) use ( $parameterValues ){
              $query->where('abb', $parameterValues['club_abbs'] );
          });

但这似乎取消了我在第一个例子中提到的对赛季的限制.就像通过链接orWhereHas一样,我的where方法"忘记了"他们所约束的东西.

任何帮助,非常感谢 - 谢谢

乔恩.

1 个回答
  • 我错误地使用了这个方法.我首先加载了两个关联,然后链接了whereHasorWhereHas

    $broadcast = $broadcast->with('homeClub');
    $broadcast = $broadcast->with('awayClub');
    
    
        $broadcast = $broadcast->whereHas('homeClub', function( $query ) use ( $parameterValues ){
          $query->where('abb', 'liverpool' );
      })->orWhereHas('awayClub', function( $query ) use ( $parameterValues ){
          $query->where('abb', 'liverpool' );
      });
    

    2023-02-02 21:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有