【问题标题】:Searching laravel in multiple tables在多个表中搜索 laravel
【发布时间】:2019-01-21 02:20:49
【问题描述】:

我对 Laravel 很陌生,还在学习。 喜欢这个应用程序,但发现它很困难 找到制作搜索表单的正确方法。

我有两张桌子,table1 和 table2。 它们的结构是这样的:

table1 = id |用户 ID |数据 1 | 1 | X 2 | 2 |是的

table2 = id |用户 ID |性别ID |数据 1 | 1 | 1 |一个 2 | 2 | 2 | b 3 | 1 | 1 | C 4 | 2 | 1 | d

现在我想从 table1 中选择所有数据 其中 table1 中的 user_id 在 table2 中具有 sex_id 1。

这可能吗? 从 Laravel 的多个表中选择的正确方法是什么?

谢谢,非常感谢您的意见。

【问题讨论】:

  • 您可以对这些表执行join,并按字段table1.user_idtable2.sex_id 进行过滤
  • 基本上你会使用query join
  • 你有Laravel eloquent models吗?如果是这样,请发布它们。如果不是,请用它们的关系创建它们,然后使用whereHas 方法获取数据。
  • 谢谢大家,您的意见对我很有帮助,更新了请求并提供了答案。花了我一段时间,但您的输入以正确的方式发送给我。

标签: mysql laravel


【解决方案1】:

已使其与连接功能一起使用。

参见下面的示例;

 # gender search
        $get_pages = DB::table('d_pages')
            ->join('d_user_profiles', function($join) use($gender) {
                    $join->on('d_user_profiles.user_id', '=', 'd_pages.user_id');
                    $join->where('d_user_profiles.m_sex_id', '=', $gender);
            })
            ->select('d_pages.id', 'd_pages.user_id', 'd_pages.image_path')
            ->orderBy('d_pages.like_amount', 'desc')->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2020-03-20
    • 2018-09-25
    • 2017-06-03
    • 2020-12-21
    • 2021-02-13
    • 1970-01-01
    相关资源
    最近更新 更多