Jav*_*ved 6 php laravel laravel-5.5
我有一个数据数组,我想在同一个数组中添加一个键和它的值.在这里,addedPost我想添加键favouritePost,它的值是$favouritePost在product键之后.我怎样才能做到这一点 ?
这是我的查询:
$addedPost = Post::with(['product','postattribute.attribute.category','user.userDetails'])
->whereId($postData['post_id'])
->first();
$favouritePost = PostFavourite::isAlreadyAdded($postData['post_id'], Auth::id());
return [
'status_code' => $status_code,
'message' => $message,
'PostDetails' => $addedPost
];
Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
{
"PostDetails": {
"id": 289,
"user_id": 12,
"product_id": 2,
"demand_or_supply": "Demand",
"description": "edited1",
"status": "Expired",
"created_at": "2018-06-22 07:35:27",
"updated_at": "2018-07-05 06:42:56",
"product": {
"id": 2,
"title": "Diamond",
"icon": null,
"status": "Active"
}
}
}
Run Code Online (Sandbox Code Playgroud)
预期结果:
{
"PostDetails": {
"id": 289,
"user_id": 12,
"product_id": 2,
"demand_or_supply": "Demand",
"description": "edited1",
"status": "Expired",
"created_at": "2018-06-22 07:35:27",
"updated_at": "2018-07-05 06:42:56",
"product": {
"id": 2,
"title": "Diamond",
"icon": null,
"status": "Active"
},
"favouritepost": {
"id": 8,
"post_id": 289,
"user_id": 12
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
第一:你$addedPost不是一个阵列,而是一个雄辩的集合.有多种可能性可以做到这一点.最简单的方法是将Array与Collection结合使用.
$union = $addedPost->union($favouritePost->toArray());
Run Code Online (Sandbox Code Playgroud)
对于其他所有解决方案,请查看Laravel文档.这很容易理解.
https://laravel.com/docs/5.6/collections
编辑:虽然我错过了->first()问题的内部只是使用已经提到的解决方案.->first()返回一个StdClassObject,所以你可以像这样处理它:
$addedPost->favouritepost = $favouritePost;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,属性favouritePost被添加到$ addedPost对象.不需要再次调用任何方法.
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |