可以解释一下这里 orWhereHas () 每个参数的意思吗?

可以解释一下这里orWhereHas()每个参数的意思吗?
file

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

@Pepsi丶 第一个参数就是你定义的关联关系时取的方法名,跟你用with差不多,随便举个例子

$rows =  Post::with('user');
        if(!empty($data['keyword'])){
            if(is_numeric($data['keyword'])){//用户id
                $rows =$rows->whereHas('user',function($query)use($data){
                    $query->where('id',$data['keyword']);
                });
            }else{//名字
                $rows =$rows->whereHas('user',function($query)use($data){
                    $query->where('user_name','like',"%$data[keyword]%");
                });
            }
        }
$rows = $rows->get();
5年前 评论
讨论数量: 9

@Thans 主要想问一下第一个参数的意思 :sweat_smile:

5年前 评论

@liyu001989 这里的skus指的是 Product 模型中定义的skus()吗?

5年前 评论

@Pepsi丶 第一个参数就是你定义的关联关系时取的方法名,跟你用with差不多,随便举个例子

$rows =  Post::with('user');
        if(!empty($data['keyword'])){
            if(is_numeric($data['keyword'])){//用户id
                $rows =$rows->whereHas('user',function($query)use($data){
                    $query->where('id',$data['keyword']);
                });
            }else{//名字
                $rows =$rows->whereHas('user',function($query)use($data){
                    $query->where('user_name','like',"%$data[keyword]%");
                });
            }
        }
$rows = $rows->get();
5年前 评论

$rows =$rows->whereHas('user',function($query)use($data){ $query->where('id',$data['keyword']); }); 这个user是表的名称吗?

3年前 评论

@iqweqwkeqwewqeqweqweqwe 应该不是 是你在 Model 里面定义的关联 function 名字

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!