如何使用查询生成器从不同的表中检索数组值?

时间:2018-11-26 16:55:14

标签: php laravel-5

以下是我在控制器中使用的代码段:

 public function index(Request $request)
    { 
        $query = DB::table('project_files')->select('project_id')->get()->toArray();
        dd($query);
        return view ( 'filesync/listfiles' )->with ( $query);
    }

因此,当我尝试将值传递到视图中时,我得到了一个由project_files表中的project_id组成的数组。我现在想要做的是检索存储在项目表中的这些project_id的project_names。我需要使用project_id进行相同的操作,但是无法理解如何使用查询生成器将它们关联起来。 ,表示如何在查询中使用数组值从专案表格中检索专案名称。

1 个答案:

答案 0 :(得分:1)

您可以设置relationships,这是理想的方式,也可以在查询中使用leftJoin

DB::table('project_files')->select('project_files.project_id')->leftJoin('projects', 'project_files.project_id', '=', 'projects.project_id')->get()->toArray();

并将列名分别替换为正确的值。

我要提出的另一个建议是通过为表定义models来真正利用 M VC中的 M 而不是使用数据库外观。

注意:请不要忘记在select函数中添加希望选择的列。