标签: pluck

有没有办法(重新)使用其内容的索引来映射Laravel Collections?

我有一些通讯:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get();
Run Code Online (Sandbox Code Playgroud)

这个集合的结果如下:

在此输入图像描述

我尝试使用pluck,但它只允许一列:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->pluck('media', 'id');

在此输入图像描述

我试图实现的目标是这样的(请原谅我的悲伤油漆技巧:D) 在此输入图像描述

在某种程度上,就像->pluck('*', 'id').现在我不得不预先处理每个集合,这对我来说似乎不对.

谢谢你的帮助!

php mapping collections laravel pluck

2
推荐指数
1
解决办法
889
查看次数

Laravel 集合:只返回关系和键

我有一个类似这样的集合:

$a = Model::with(['sub' => function($q) {
    $q->select('id', 'name')
}])->get();
Run Code Online (Sandbox Code Playgroud)

这将返回以下集合:

{
    0: {
        id: 0001,
        name: "item 1",
        type: "type a"
        'sub' [
            {
                'id': 10001,
                'name': "sub Item 1"
            },
            {
                'id': 10002,
                'name': "sub Item 2"
            }
        ]
    },
    1: {
        id: 0002,
        name: "item 2",
        type: "type a"
        'sub' [
            {
                'id': 11001,
                'name': "sub Item 4"
            },
            {
                'id': 11002,
                'name': "sub Item 5"
            }
        ]
    }
Run Code Online (Sandbox Code Playgroud)

我想要做的是通过它们的 id 键输入父项,并且只返回关系。例如

{
    0001: {
        'sub' [ …
Run Code Online (Sandbox Code Playgroud)

collections laravel pluck

1
推荐指数
1
解决办法
3136
查看次数

Eloquent:使用已删除的条目检索pluck集合

我想通过pluck获取所有地址ID,包括已删除的地址ID.这是它的工作方式,但我也没有得到破坏的......:

$clientIDs = Client::pluck('address_id')->all();
Run Code Online (Sandbox Code Playgroud)

这是我已经尝试过的:

$clientIDs = Client::pluck('address_id')
                        ->withTrashed()
                        ->get();
Run Code Online (Sandbox Code Playgroud)

抛出: Method withTrashed does not exist.

如何使用pluck和withTrashed()来解决这个问题?

亲切的问候!

mysql laravel eloquent pluck laravel-5.5

1
推荐指数
1
解决办法
142
查看次数

Laravel - 用指定的键拔出

我有一行类似于以下的代码:

Sport::pluck('id', 'name)
Run Code Online (Sandbox Code Playgroud)

我正在处理需要以下格式列表的前端 JavaScript:

var list = [
 { text: 'Football', value: 1 },
 { text: 'Basketball', value: 2 },
 { text: 'Volleyball', value: 3 }
 ...
]
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚如何将我从模型中提取的idname值转换为类似于 Javascript 的格式list

如果不清楚,我期待与含有两个键的关联数组来结束:textvalue,其中text代表name我的模型现场,并在value代表id模型-我希望这是有道理的。

我将如何处理这个问题?

我最初尝试过这样的事情(没有检查文档)

Sport::pluck(["id" => "value", "name" => "text]);

Run Code Online (Sandbox Code Playgroud)

但这不是你这样做的方式,现在已经很清楚了。我还尝试了一些与地图相关的片段,但我似乎无法使用 Ctrl-z。

有什么建议?

php arrays laravel pluck

1
推荐指数
2
解决办法
1万
查看次数

在没有关联数组的情况下使用Laravel的pluck方法

假设我有一个Articles系列,并且想获取热门文章。

因此,首先,我在scopePopular()方法中创建一个Article方法。很简单的。

现在,我想获取他们id的,因此我将这样做:

Article::popular->pluck('id');
Run Code Online (Sandbox Code Playgroud)

结果将是一个关联数组:

[
    0 => 1,
    1 => 34,
    2 => 17
    ...
];
Run Code Online (Sandbox Code Playgroud)

我想要一个没有键的普通数组,例如:

[1, 34, 17]
Run Code Online (Sandbox Code Playgroud)

我知道我可以做这样的事情:

array_values(Article::popular->pluck('id'));
Run Code Online (Sandbox Code Playgroud)

但是我相信Laravel有更清洁的方法来做到这一点。有任何想法吗?

php arrays associative-array laravel pluck

0
推荐指数
1
解决办法
2127
查看次数

如何使用Laravel 4.2获取单列的所有值

我正在使用pluck方法从单列获取数据

$systems = OptionUser::pluck('user_skill');
Run Code Online (Sandbox Code Playgroud)

该系统变量仅返回一个值,而我在此表中大约有50个值。请提出从该列获取所有数据的正确方法。

laravel-4 pluck

0
推荐指数
1
解决办法
3646
查看次数

在 Rails 中将 :pluck 或 :collect 结果转换为字符串数组的最简单方法是什么?

我有一个名为 Record 的模型,属于 Product 模型,

所述price列类型是十六进制的。Rails 已经将其转换为字符串。但我想在我的控制台查询中获取它们。

pluck 的示例代码:

Product.first.records.pluck(:price)
Run Code Online (Sandbox Code Playgroud)

此查询将数组中的值显示为十六进制。有一种方法to_sentences 需要 pluck 值,但对我来说还不够。

问题在collect方法上是一样的:

Product.first.records.collect(&:price)
Run Code Online (Sandbox Code Playgroud)

将我的十六进制数据显示为字符串数组的 pluck 查询是什么,例如:

["45,46","75,42"]
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails collect pluck

-1
推荐指数
1
解决办法
4394
查看次数