gpt4 book ai didi

php - laravel 5 - 获取相关模型值

转载 作者:搜寻专家 更新时间:2023-10-31 21:54:09 24 4
gpt4 key购买 nike

我有两个模型,使命和项目。在这两个模型中都有一个 belongsToMany 函数 (n:m)当我选择所有任务时,我也会急切加载所有项目:

$missions = Mission::with('projects')->get();

现在我想要每个任务的所有相关项目,但作为一个不同的结果。

我的意思是如果我有 3 个任务并且所有任务都属于一个项目,我希望这个项目名称在一个数组中。

但是如果任务 1 属于项目 1,任务 2 属于项目 2,我想获取项目 1 和项目 2 的名称数组。

但是我该怎么做呢?我试试这个,但没有运气:

$array = $missions->toArray();
$projectNames = array_pluck($array, 'projects.name');

我也试试这个:

$missionIDs = $missions->pluck('id');

给我任务的所有 ID .. 但我尝试获取相关的项目名称 (belongsToMany),所以我也尝试这样做:

$projects = $missions->pluck('projects')->unique();

给我项目..但不是独一无二的..这很奇怪。这不起作用,如果我尝试仅选择项目名称,我会得到一个空集合:

$projectNames = $missions->pluck('projects.names')->unique());

我认为问题在于项目和任务之间的 n:m 关系,但我不确定。

EDIT Finally I got it:

$projectNames = $missions->pluck('projects.*.name')->unique();

诀窍是使用 * 因为它属于 belongsToMany ...

最佳答案

$projectNames = $missions->lists('projects.name')->unique();

这将返回一个集合对象。

关于php - laravel 5 - 获取相关模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407855/

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