加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – laravel中whereOr和orWhere之间的区别

发布时间:2020-12-14 19:56:19 所属栏目:大数据 来源:网络整理
导读:我在Laravel的代码中使用whereOr和orWhere都可以,但有时会产生不同的结果 $user_query = User::select( 'users.id','users.username','users.first_name','users.last_name','users.photo' ) -where('users.status',1) -where('users.id','!=',$id) -where('
我在Laravel的代码中使用whereOr和orWhere都可以,但有时会产生不同的结果
$user_query = User::select( 'users.id','users.username','users.first_name','users.last_name','users.photo' )
                    ->where('users.status',1)
                    ->where('users.id','!=',$id)
                    ->where('users.username','like','%'.$searchkey.'%')
                    ->orWhere('users.first_name','%'.$searchkey.'%')
                    ->orwhere('users.last_name','%'.$searchkey.'%')->get();

                    // ->whereOr('users.first_name','%'.$searchkey.'%')
                    // ->whereOr('users.last_name','%'.$searchkey.'%')->get();

whereOr和orWhere之间的区别是什么

他们俩都可以这样做.但不是真的,因为你在哪里使用错误. whereOr是动态的地方.在 this blogpost中对它们进行了更深入的描述

对于动态wheres,条件不仅定义参数,还定义方法名称本身.这是一个例子:

->whereAge(18);

它可以被翻译成

->where('age','=',18);

这是通过__call()函数完成的,然后调用dynamicWhere().此方法然后解码您调用的方法名称并将该信息保存为where条件.

现在有了whereOr,你实际上必须称之为:

->whereAgeOrGender(18,'male');

这意味着它为您提供了简单的语法,但却不如“真实”那么灵活.例如,它将始终使用=运算符.所以它绝对不适合你的情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读