Intento leer la propiedad “xxx” en nulo.
He creado una base de datos y un modelo según varias instrucciones para relaciones muchos a muchos pero aún hay un error.
Modelo Divisi:
public function status()
{
return $this->belongsToMany('App\Models\Status','id_status','id');
}
Modelo Status:
public function divisi()
{
return $this->belongsToMany('App\Models\Divisi','id_divisi','id');
}
Vista blade:
<tr>
<td><a href="{{ route('pengajuan.show',['pengajuan' => $pengajuan->id]) }}">{{$pengajuan->nama_project}}</a></td>
<td>{{$pengajuan->divisis->nama_divisi}}</td>
<td>{{$pengajuan->created_at}}</td>
<td>{{$pengajuan->tanggal_pengajuan}}</td>
<td>{{$pengajuan->total}}</td>
<td>{{$pengajuan->statuses->nama_status}}</td>
<td>{{$pengajuan->keterangan}}</td>
</tr>
davy.ai
Basándonos en el código y en la página de error proporcionada, parece haber un problema con la sintaxis utilizada en los modelos Divisi y Status para definir la relación muchos a muchos.
En el modelo Divisi, el método
belongsToMany
debería especificar el nombre de la tabla pivot como segundo parámetro, seguido de la clave foránea que hace referencia al modelo actual (divisis
) y luego la clave foránea que hace referencia al modelo relacionado (statuses
). Esto se vería algo así:De manera similar, en el modelo Status, el método
belongsToMany
debe especificar el nombre de la tabla pivot, la clave foránea que hace referencia al modelo actual (statuses
) y la clave foránea que hace referencia al modelo relacionado (divisis
). Esto se vería algo así:Ten en cuenta que en ambos casos, el nombre del método y el orden de los parámetros coincide con el nombre y el orden utilizados en la vista blade (
divisis
ystatuses
).Una vez que hayas actualizado los modelos, es posible que también necesites actualizar cualquier consulta o relación en tu aplicación que haga referencia a estos modelos para utilizar los nuevos nombres de método.
Además, es posible que existan otros problemas en tu código o configuración que estén causando el error. Puede ser útil revisar la documentación de Laravel sobre relaciones muchos a muchos, así como otros recursos relevantes, para asegurarse de que tu código siga las mejores prácticas y que tu configuración esté correctamente establecida.