Laravel/SQL:如何在单个查询中从多个表中获取数据?也使用'where'

拉维·瓦德瓦尼

在 Laravel 应用程序(博客/帖子)上开发搜索功能。有多种类型的帖子(每个帖子在数据库中都有一个单独的表),例如商业帖子、社交生活帖子等。

下面是 SearchController 上的搜索功能

class SearchController extends Controller
{
public function search(Request $request, $query = null)
{
    if($query == null)
        return redirect()->route('home');

    $search = Business::where([['title','like','%'.$query.'%'],['status','=',1]])
                        ->orWhere([['description','like','%'.$query.'%'],['status','=',1]])                         
                        ->paginate(10);

    return view('front.search',[
        'results' => $search,
        'query' => $query
    ]);
}

}

所以基本上我的问题是如何添加其他类型的 Post 表?

我的主要动机是,当有人搜索任何内容时,应该从所有类型的帖子表(商业、自然、生活等..)中获取结果。

西瓦·甘尼什

您必须在两个表中维护公共 ID

注意:加入是首选方法

   $querys = DB::table('Business')->where([['Business.title','like','%'.$query.'%'],['Business.status','=',1]])
                        ->orWhere([['Business.description','like','%'.$query.'%'],['Business.status','=',1]]);

   $querys->join('socialtable','socialtable.userid','=','Business.userid'); 
   // Just join the social table
   $querys->where('socialtable.title',  'like','%'.$query.'%'); 
   $result = $querys->paginate(10);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在单次查询中根据where条件获取Count(*)和表数据

如何使用Join和where子句从多个表中获取数据

如何在WHERE子句的mysql查询中获取if语句?

如何在laravel的另一个表中获取数据where子句

SQL:在单个查询中添加多个where子句

如何在codeigniter中查询(获取)mysql数据库的多个表作为单个表

如何在 UNION 查询中的两个表中使用 where 条件?

如何使用WHERE IN子句从MSQL查询中获取变量

MongoDB中的多个$ where查询

如何在 rails 中组合 .where() 查询

如何在Laravel中在DB :: select中使用多个WHERE

从 MySQL 中的多个表中获取具有不同 where 条件的数据

使用多个 where 子句在单个 Eloquent Laravel 中连接 2 个表

使用WHERE语句中的多个条件更新表中的单个列

如何在单个 LinQ 查询中编写 OrderByDescending 和 where 子句

如何在SQL中的不同表中使用WHERE?

如何在JavaScript中获取网址时使用where条件?

如何在SQL Server中使用单个查询在多个表中插入数据?

如何使用内连接查询和 where like 子句从表 Produto_precos 中获取另外两个值

如何在存储在其他表 MySQL 中的查询中应用 where 条件

如何在mysql json表中使用where子句查询

如何使用where条件获取表中的两个字段以及如何在其上应用类似条件

在Android中使用多个where条件从Firebase数据库中获取数据

使用多个表中的WHERE条件更新表

如何在带有条件多个where条件的Entity Framework中编写查询?

如何在 c# 中的 .where 中包含子查询?

如何在mysql查询laravel中的where条件中插入?

您可以使用WHERE逻辑通过Laravel中的数据透视表获取数据吗?

如何在MySQL中同时使用WHERE BETWEEN和WHERE?