【问题标题】:How to search from multiple tables in laravel?如何从 laravel 中的多个表中搜索?
【发布时间】:2020-12-21 14:49:37
【问题描述】:

如何使用 laravel eloquent 从多个表中进行搜索。以下是我的查询。

$data= User::where('id',$search_str)
            ->orWhere('name', 'LIKE', "%{$search_str}%")
            ->with('usersecond:id,name,email')->get();

如果我搜索某些内容,我会从用户表中获得结果。如何在此查询中从 usersecond 表中获取结果?

【问题讨论】:

标签: php mysql laravel


【解决方案1】:

使用whereHas()函数

$data = User::where('id', $search_str)
    ->orWhere('name', 'LIKE', "%{$search_str}%")
    ->with('usersecond:id,name,email')
    ->orWhereHas('usersecond', function ($q) use ($search_str) {
        $q->where('name', 'LIKE', "%{$search_str}%");
    })->get();

参考链接https://laravel.com/docs/7.x/eloquent-relationships#querying-relationship-existence

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多