当前位置: 首页 > 知识库问答 >
问题:

Laravel belongsToMany仅返回特定列

汪坚
2023-03-14

因此,我通过透视表user_photo在用户和照片之间建立了许多对许多的关系。我在我的用户模型中使用Belongstomany('photo')。然而,这里的问题是,我的照片表中有十几列我不需要(尤其是在json响应期间)。所以一个例子是:

//Grab user #987's photos:
User::with('photos')->find(987);
//json output:
{
  id: 987,
  name: "John Appleseed",
  photos: {
    id: 5435433,
    date: ...,
    name: 'feelsgoodman.jpg',
    ....// other columns that I don't need
  }
}

是否可以修改此方法,使Photosmodel只返回接受的列(例如由数组指定的列['name','date'])?

public function photos()
{
  return $this->belongsToMany('Photo');
}

注意:我只想在执行用户->Belongstomany->Photo时选择特定的列。在执行photo::all()之类的操作时,是的,我希望所有列都像往常一样。

编辑:我尝试在Laravel Eloquent中使用“with()”函数获取特定的列,但列仍然被选中。另https://github.com/laravel/laravel/issues/2306

共有1个答案

闻人吕恭
2023-03-14

您可以使用laravel关系将Belgonstomany与select操作一起使用。

public function photos()
{
  return $this->belongsToMany('Photo')->select(array('name', 'date'));
}
 类似资料:
  • 问题内容: 我有一个只能返回的函数,或者它们都是类型。我想将这一事实包括在签名中,因为它们在功能上下文中具有特殊含义。我怎么做? 目前,我用这个 那是正确的吗? 我知道我可以做到 但是正如我所说,我想在签名中表示该函数仅返回那些特定值。 问题答案: mypy能够将检出为无效语句: Python 3.8 多亏了PEP 586 ,将是已经包含默认的Python 3.8模块。

  • 我正在查看MongoDB在和投影上的留档。我试图弄清楚如何只返回投影数组字段的子集,但我似乎无法弄清楚。 相关帖子: > 我没有试图从mongob聚合框架中执行$片-获取嵌套数组的第一个文档字段。 我也没有尝试从mongo projection中的仅返回数组值展平子文档,因为我仍然需要顶部文档中的一些字段。 假设我在集合中有以下文档: 我想要执行的查询是: 我希望它只返回数组中为的子文档下的。例如

  • 有一个关联数组: 我已经使用从另一个对象(获取属性名。 由此我得到了以下输出: 这里的键不按顺序排列。而是另一个关联数组。 但是得到了空数组作为输出。 我如何返回主大关联数组只与键名称我得到它与?如何返回主数组(500项)与项目,只匹配某些键?

  • 问题内容: 好的,我有以下代码: 然后,当我尝试回显内容时,只能回显输出第一项,但是如果我尝试回显,则会得到未定义的偏移量。 但是,如果我通过PHPMyAdmin运行以上查询,它将返回10个项目的列表。为什么不能将其识别为10个项的数组,让我回显0-9? 谢谢您的帮助。 问题答案: 那是因为数组代表返回结果集中的一行。您需要再次执行该功能以获得下一条记录。例:

  • 问题内容: 我有这个简单的PHP代码: 它仅返回以下内容: 我的表中有3500多行,并且在PhpMyAdmin中运行SQL效果很好。 问题答案: 您的示例拼写错误 每次调用时以及行外时都会返回一行。通过在条件中为其分配变量来利用它,以发挥您的优势。在循环中,将是当前行。