yudijohn
yudijohn

Reputation: 1278

Laravel how to change objects

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

Answers (1)

Romnick Susa
Romnick Susa

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

Related Questions