php - 在 Laravel Eloquent 集合的每个元素的开头添加一个项目

标签 php laravel collections eloquent laravel-5

我有一个这样的收藏

[
  {
    "objective_id": "26",
    "objective_weight": "50.00",
    "objective_description": "This is first strategic objective",
    "actions": [
    ]
  },
  {
    "objective_id": "27",
    "objective_weight": "12.00",
    "objective_description": "This second strategic objective",
    "actions": [
    ]
  },

]

现在我想为集合中的每个元素添加一个项目。 例如:

[
  {
    "foo" : "bar"
    "objective_id": "26",
    "objective_weight": "50.00",
    "objective_description": "This is first strategic objective",
    "actions": [
    ...
    .....

我试过 Eloquent 的 prepend() 方法,但没有成功。

$new = $objectives->map(function($objective) {
    return $objective->get()->prepend('hello', 'world');
});

return $new;

最佳答案

这些项目只是对象,您可以通过设置它来添加属性:

$new = $objectives->map(function($objective){
    $objective->foo = 'bar';
    return $objective;
});

关于php - 在 Laravel Eloquent 集合的每个元素的开头添加一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29715909/

相关文章:

php - 在php中,如果整小时则减少,或者如果超过一小时则增加?

laravel - 从 api 注册时发送验证电子邮件

php - 无法使用自己的实现覆盖 Laravel Spark 身份验证

java - 查看fxml里面的逻辑(特别是迭代)

java - Java排序中的链表实现不起作用

java - 使用本地化对字符串列表进行排序

php - 如何检查在 ON DUPLICATE 语句中更新和插入了多少行?

php/mysql - 外来字符

php - 避免在 div 中换行

mysql - 将多个标签组与多个模型相关联