【问题标题】:Raw query to eloquent原始查询到雄辩
【发布时间】:2018-01-31 04:32:27
【问题描述】:

我正在将以下查询转换为 eloquent:

select * from db.users
    Where (linker is null) and (admin_published is null)
union
select * from db.users
    Where (linker is not null) and (linker_verified = 2) and (admin_published is null)

雄辩:

\App\User::where('linker', null)->
Where('admin_published', null)->
orWhere('linker','!=',null)->where('linker_verified', '=',2)->
orWhere('admin_published','!=', 1)->get();

它没有给我linker 不为空的记录。

【问题讨论】:

    标签: php mysql laravel eloquent laravel-query-builder


    【解决方案1】:

    Laravel 给你一个雄辩的方法union()。你试过这个吗?你可以使用whereNull('column')whereNotNull('column')

    $first_query = \App\User::whereNull('linker')
        ->whereNull('admin_published');
    
    $users = \App\Users::whereNotNull('linker')
        ->where('linker_verified', '=', 2)
        ->whereNull('admin_published')
        ->union($first_query)
        ->get();
    

    Lara docs.

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多