У меня есть три таблицы: активность, категория и таблица activity_categories. Каждая активность может принадлежать многим категориям, поэтому category_id и activity_id сохраняются в activity_categories.Я пытаюсь получить только одну категорию для каждого продукта, потому что для отображения используйте одно изображение категории для каждого вида деятельности, но при поиске я должен показать их во всех принадлежащих категориях. Я создал свои модели следующим образом:
class Activity extends Model
{
protected $table = "activities";
public function category()
{
return $this->belongsToMany('App\Category','activity_categories');
}
}
// Контроллер
public function userActivities()
{
$user_id = Auth::user()->id;
$activities = Activity::all()->where('user_id', $user_id);
return view('user_profile.activities', compact( 'activities' ));
}
// Просмотр
@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('{{asset('/images/categories/'.$activity->category->first()->image)}}')">
<img src="/storage/profile/{{Auth::user()->image}}" 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>{{$activity->title}}</b></h3>
<h5 class="media-heading m-t-md" style="text-align: justify">
{{$activity->description}}<br><br>
</h5>
</div>
</div>
@endforeach
Когда я использую dd ($ activity-> category-> first () -> image), он показывает данные, но когда яПоместите то же самое в id представления, показывает ошибку «Попытка получить свойство необъекта»