【问题标题】:How get selected column from nested relation in laravel?如何从 laravel 的嵌套关系中获取选定的列?
【发布时间】:2021-08-25 03:45:28
【问题描述】:

我正在使用查询从第二个关系中的嵌套关​​系中获取数据我正在获取选定的数据,但从第一个关系中,它正在获取所有列

Invoice::where('id',4)->with(['customers:id,name','consignments_invoices.charges:id,object_id,income'])->get();

我想从consignments_invoices获取选定的列

我是怎么做到的?

【问题讨论】:

  • 看到这个作品了吗? consignments_invoices.charges:id as con_id。要访问同名变量,请使用as
  • 我只想从关系中访问选定的列
  • 你能分别提到你想选择的每个模型字段吗
  • 您还需要通过将consignments_invoices 添加到with 参数中来指定您想要从consignments_invoices 获得的列,但至少您需要包含将用于与charges 连接的列(如果是一对多关系)
  • 你能举个例子吗?

标签: laravel eloquent laravel-query-builder


【解决方案1】:

如果我正确理解了问题的含义。这是我使用查询生成器的示例:

$reqs = DB::table('users_request')
            ->select('users_request.id as id', 'users_request.user_id as userid', 'req_title', 'req_content', 'cat_id', 'categories.cat_name', 'username')
            ->join('categories', 'users_request.cat_id', '=', 'categories.id')
            ->join('users', 'users_request.user_id', '=', 'users.id')
            ->get()->toArray();

为了获取我正在使用的数据,如下所示:

print_r($reqs[5]->userid);

【讨论】:

    猜你喜欢
    • 2020-08-30
    • 2016-09-26
    • 2021-12-30
    • 2021-09-07
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多