Error saat menampilkan data hasil relasi MorphToMany Laravel

Izin bertanya mengenai cara menampilkan data dari hasil relasi MorphToMany di Laravel. Untuk memasukkan data relasinya berhasil, namun untuk menampilkan salah satu data hasil relasinya terdapat error Undefined property: Illuminate\Database\Eloquent\Relations\MorphToMany::$bentuk_kegiatan_id . Mungkin untuk lebih jelasnya, saya lampirkan file controller, model dan view untuk menampilkan datanya

views:
<table class="table table-striped">
                        <tr>
                          <th style="width: 70px">No.</th>
                          <th>Perihal</th>
                          <th>Deskripsi</th>
                          <th>Tanggal Diajukan</th>
                          <th>Dokumen Penunjang</th>
                          <th>Kegiatan</th>
                          <th>Hapus</th>
                          <!--  <th>Action</th> -->
                        </tr>
                        @foreach($kerjasama as $item)
                        <tr>
                          <td style="width: 90px">{{ $loop->iteration }}</td>
                          <td><a href="{{ url('pengusul/'.$item->id) }}">{{ $item->perihal_kerjasama }}</a></td>
                          <td>{{ $item->deskripsi }}</td>
                          @if($item->status == 1)
                            <td><div class="badge badge-danger">Belum Direview</div></td>
                          @elseif($item->status == 2)
                            <td><div class="badge badge-success">Proses di Legal</div></td>
                          @endif
                          <td>{{ $item->created_at }}</td>
                          <td style="text-align:center"><a href="{{ Storage::url($item->filepath) }} " class="btn btn-icon btn-info"><i class="far fa-file"></i></a></td>
                          <td>{{$item->bentukKegiatans()->bentuk_kegiatan_id}}</td>
                          <td style="text-align:center"><a href="{{ url('pengusul/'.$item->id) }} " class="btn btn-icon btn-info"><i class="far fa-delete"></i></a></td>
                        </tr>
                        @endforeach
                      </table>

Controller:
<?php

namespace App\Http\Controllers;

use App\Models\Dokumen;
use App\Models\Kerjasama;
use App\Models\BentukKegiatan;
use App\Models\PenggiatKerjasama;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class PengusulController extends Controller
{

    public function daftar_usulan()
    {
        $user = Auth::user();
        $kerjasama = Kerjasama::all();
        return view('pengusul.daftar_usulan', compact(['user','kerjasama']));
    }
}

Model Kerjasama:
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Kerjasama extends Model
{
    use HasFactory;
    protected $table = 'kerjasama';

    public function bentukKegiatans()
    {
        return $this->morphToMany(BentukKegiatan::class,'bentuk');
    }
}

Model Bentuk Kegiatan:
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class BentukKegiatan extends Model
{
    use HasFactory;

    protected $table = "bentuk_kegiatan";

    public function kerjasamas()
    {
        return $this->morphByMany(Kerjasama::class,'bentuk');
    }
}

Nah, itu dia untuk kode yag saya lampirkan. Semoga Teman2 bisa membantu menjawab.
avatar Ihzarizky

@Ihzarizky

37 Kontribusi 9 Poin


Jawaban

coba loop is dariΒ 
$item->bentukKegiatans

Ini cara mengeluarkan hasil morphToMany di dokumentasi laravel
Kita perlu loop fungsinya
avatar hilmanski

@hilmanski

2390 Kontribusi 2000 Poin


Login untuk gabung berdiskusi
premium logo tube

Hey, sedang ada diskon premium untuk akses semua kelas. Lihat di sini