首页 > 解决方案 > 在 Laravel 中获取数据库表中值的计数

问题描述

再会。我正在构建一个 API,我想在其中返回一些数据。我有三张桌子

  1. 顾问
  2. 辅导员案例
  3. 分析_sc

律师表的一部分如下所示

在此处输入图像描述

下面还显示了一部分counsel_cases

在此处输入图像描述

最后,analysic_sc 的一部分如下所示。

在此处输入图像描述

我希望在选择律师时,通过律师 ID,我可以从律师案件中获取属于该律师的案件,然后使用该信息,我希望能够获取属于该律师的案件数量第三个表格中的法律负责人(实践领域),如下面的设计所示。

在此处输入图像描述

这怎么可能。我在律师和律师案件之间有关系。另外,我尝试使用如下所示的 foreach 循环,但我无法获得 legal_head 的唯一值。


    public function getCounselPracticeAreas(Request $request)
    {
        $counsel_id = $request->route('counsel_id');
        $cases = CounselCase::select('suit_number')->where('counsel_id', $counsel_id)->get();

        $data = [];
        foreach ($cases as $case) {
            $values = AnalysisSc::select('legal_head')->where('suitno', $case->suit_number)->first(); 
            array_push($data, $values);
        }

        return response()->json([
            "message" => "successful",
            "data" => $data
        ]);
    }
However, this is the value I get
[![enter image description here][5]][5]

我想得到这样的东西:

$data : [
            "legal_head" : [
                "name" : "Criminal Law",
                "count" : 2
             ]   
       ]

请问,这可能吗?我知道这很长。我希望我能很好地解释自己。谢谢

标签: phpmysqlarrayslaraveldatabase

解决方案


您需要使用 SQL 连接来创建表之间的关系并获取数据


推荐阅读