Reputation: 1278
this is some of my code in laravel, i have array of object that name results, i want to insert each result a social media account.. how to fix it?
$results = Buzzer::join('users', 'users.id', '=', 'buzzers.user_id')->get();
$buzz[] = "";
foreach ($results as $result) {
$sosmeds = SocialMedia::where('user_id','=',$result->user_id)->get();
foreach ($sosmeds as $sosmed) {
if($sosmed->type == "facebook") $result['facebook'] = $sosmed;
if($sosmed->type == "twitter") $result['twitter'] = $sosmed;
if($sosmed->type == "instagram") $result['instagram'] = $sosmed;
}
$buzz[] = $result;
}
Upvotes: 0
Views: 2915
Reputation: 1288
I don't know if i understand your question. You can add new data in each object by inserting new index inside your loop.
$result->you_index = "your value";
In your case, You should do this :
foreach ($results as $result) {
$sosmeds = SocialMedia::where('user_id','=',$result->user_id)->get();
foreach ($sosmeds as $sosmed) {
if($sosmed->type == "facebook") $result->facebook = $sosmed;
if($sosmed->type == "twitter") $result->twitter = $sosmed;
if($sosmed->type == "instagram") $result->instagram = $sosmed;
}
}
Upvotes: 2