dimanche 3 juin 2018

Passing data through pivot tables?

I have three tables, the activity, the category and the activity_categories table.Each activity may belong to many categories therefore the category_id and activity_id are saved in activity_categories. I am trying to get only one category per product, because to display use one category image per activity but on search I have to show them in all belonging categories.I have created my models as follow:

    class Activity extends Model
{
    protected $table = "activities";

    public function category()
    {
        return $this->belongsToMany('App\Category','activity_categories');
    }

}

//Controller

public function userActivities()
{
    $user_id = Auth::user()->id;
    $activities = Activity::all()->where('user_id', $user_id);

    return view('user_profile.activities', compact( 'activities' ));
}

//View

@foreach($activities as $activity)
                    <div class="col-lg-4 col-md-4 col-xs-12" id="profile-card">
                        <div class="widget-head-color-box navy-bg p-lg text-center"
                             style="background-image: url('')">
                            <img src="/storage/profile/" class="img-small-profile" alt="profile">
                            <button id="heart-favorite" class="btn btn-danger btn-circle btn-outline"
                                    type="button"><i
                                        class="fa fa-heart"></i></button>
                        </div>
                        <div class="widget-text-box">
                            <h3 class="media-heading m-t-md"><b></b></h3>
                            <h5 class="media-heading m-t-md" style="text-align: justify">
                                <br><br>
                            </h5>
                        </div>
                    </div>
                @endforeach

When i use dd($activity->category->first()->image) it shows the data but when i place the same in the view id shows the error "Trying to get property of non-object"



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire