我有一些通讯:
$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get();
Run Code Online (Sandbox Code Playgroud)
这个集合的结果如下:
我尝试使用pluck,但它只允许一列:
$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->pluck('media', 'id');
在某种程度上,就像->pluck('*', 'id').现在我不得不预先处理每个集合,这对我来说似乎不对.
谢谢你的帮助!
我有一个类似这样的集合:
$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) 我想通过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()来解决这个问题?
亲切的问候!
我有一行类似于以下的代码:
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)
我试图弄清楚如何将我从模型中提取的id和name值转换为类似于 Javascript 的格式list。
如果不清楚,我期待与含有两个键的关联数组来结束:text和value,其中text代表name我的模型现场,并在value代表id模型-我希望这是有道理的。
我将如何处理这个问题?
我最初尝试过这样的事情(没有检查文档)
Sport::pluck(["id" => "value", "name" => "text]);
Run Code Online (Sandbox Code Playgroud)
但这不是你这样做的方式,现在已经很清楚了。我还尝试了一些与地图相关的片段,但我似乎无法使用 Ctrl-z。
有什么建议?
假设我有一个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有更清洁的方法来做到这一点。有任何想法吗?
我正在使用pluck方法从单列获取数据
$systems = OptionUser::pluck('user_skill');
Run Code Online (Sandbox Code Playgroud)
该系统变量仅返回一个值,而我在此表中大约有50个值。请提出从该列获取所有数据的正确方法。
我有一个名为 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)