【问题标题】:How to take specifig column from relation ship in laravel如何从laravel中的关系中获取特定列
【发布时间】:2021-05-05 00:06:03
【问题描述】:

我得到了属于产品类型模型的寄售模型,所以当我尝试访问产品类型的名称时,我使用此查询

 $consignment->product_types->name

但是检查了这个查询是否意味着

select* from product_types

在我的项目中,很多地方都在使用这种方法,现在正在产生问题。有什么方法可以只取特定的列吗?

【问题讨论】:

  • $consignment->product_types->name 的结果是什么?创建问题是什么意思?
  • 您能否添加您尝试过的代码示例...寄售和产品的模型。

标签: laravel eloquent laravel-8


【解决方案1】:

您可以使用 [with] 方法指定应该预先加载哪些关系:

    $companies = Company::select('id', 'name', 'phone')
            ->with('customers:id,company_id,name')
            ->get();
    echo '<pre>';
    print_r($companies->toArray());

【讨论】:

    【解决方案2】:

    您可以在查询构建器中对其进行限制:

    Consignment::with(['product_types' => function ($query) {
        $query->select("id", "consignment_id", "name");
    }])->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 2021-08-25
      • 2014-09-01
      • 1970-01-01
      • 2021-12-30
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多