【问题标题】:Laravel 4: multiple where with or in eloquentLaravel 4:有或有口才的多个地方
【发布时间】:2015-01-02 20:02:29
【问题描述】:

如何使用 laravel eloquent 编写这个条件

SQL

select count(id) from fight where status = 'finished' and (user1 = 1 or user2 = 1)

Laravel(未完成):

Fight::where('user1','=',$uid)->orWhere('user2', '=', $uid)->count('id');

谢谢,

【问题讨论】:

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


    【解决方案1】:

    这应该可以完成工作:

    Fight::whereStatus('finished')->where(function($q) use ($uid) {
        $q->where('user1',$uid)->orWhere('user2', $uid);
    })->count('id');
    

    编辑

    回复评论:

    Fight::whereIn('status', ['finished', 'cancelled'])->where(function($q) use ($uid) {
        $q->where('user1',$uid)->orWhere('user2', $uid);
    })->count('id');
    

    【讨论】:

    • 谢谢,如何添加(status = 'finished' or status = 'cancelled')
    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 2023-03-07
    • 2014-10-01
    • 2014-04-20
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多