gpt4 book ai didi

php - Laravel belongsToMany 仅返回特定列

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:36 25 4
gpt4 key购买 nike

所以我通过数据透视表 user_photo 在 Users 和 Photos 之间建立了多对多关系。我在我的用户模型中使用 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
}
}

是否可以修改此方法,使 Photos 模型仅返回接受的列(比如由数组 ['name', 'date'] 指定) ?

User.php

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

注意:我只想在执行 User->belongsToMany->Photo 时选择特定的列。当执行类似 Photo::all() 的操作时,是的,我希望所有列都正常。

编辑:我试过Get specific columns using "with()" function in Laravel Eloquent但仍在选择列。还有 https://github.com/laravel/laravel/issues/2306

最佳答案

您可以使用 belongsToMany 和使用 laravel 关系的选择操作。

public function photos()
{
return $this->belongsToMany('Photo')->select(array('name', 'date'));
}

关于php - Laravel belongsToMany 仅返回特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com