1

I am currently a bit stuck with some data that my Vue component is sending to my Laravel Controller. The data is as follows:

array:2 [ 0 => {#1246 +"id": 1 +"name": "Developer" } 1 => {#1249 +"id": 2 +"name": "Ops Matrix Admin" } ] 

For example if I wanted to get the name or the id out of this as an object so that I can use it with eloquent. How would I go about doing this?

This is what my controller currently looks like.

 public function editUserPermissions(Request $request, $id) { foreach($request->all() as $key => $value) { $decode = json_decode($value); dd($decode); } } 

When I do dd($request->all()); I get the following:

array:1 [ "body" => "[{"id":1,"name":"Developer"},{"id":3,"name":"Ops Matrix User"}]" ] 

2 Answers 2

1

You need to loop through the result. The result is an array.

A better way to get this would be with $request->getContent()

But using your code

public function editUserPermissions(Request $request, $id) { foreach($request->all() as $key => $value) { $decode = json_decode($value); foreach($decode as $decoded) { echo $decoded['id']; } } } 
Sign up to request clarification or add additional context in comments.

7 Comments

Hi, Thanks for answering. Currently I have already used json_decode and that is how I retrieved the dataset that I have put in my question. I do apologise if I was not clear. Have a nice day!
Hi thank you. I have updated my question. Again apologies if I am being completely stupid. This problem has consumed me for about 2 days now :D
Hmmm I seem to be getting an error "{message: "Undefined index: id", exception: "ErrorException",…}" I feel really bad because I should of figured this one out.
Answer updated to include your updated code. I am assuming the first bit is dd($decode)
Thank you so much... Seriously, I have been banging my head off of a wall for a while. This has really helped. I now just need to make it comma separated, but I will check on that. You have done more than enough!
|
0
public function editUserPermissions(Request $request, $id) { $bodys = $request->body; foreach($bodys as $key => $body) { //$key give current index of array $body[$key]['id'] //this give id $body[$key]['name'] //this give name } } 

4 Comments

Hi :D With this solution to my problem I received the following error: {message: "json_decode() expects parameter 1 to be string, object given", exception: "ErrorException",…}
I have updated my question with the output from dd($request->all());
$request->all() should be in there my fault.sorry
Ahh I see. New error for our pleasure. Sorry for bothering you with this. I really do appreciate the help. {message: "Cannot use object of type stdClass as array", exception: "Error",…}

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.