aeneas Öncelikle her ihtimale karşı php artisan optimize:clear
yapın, önbelleği temizleyin ve optimize, route:cache, view:cache gibi komutları geliştirme ortamında kullanıyorsanız kullanmayın.
$user->userdetay->meslek eğer bir şey getirmiyorsa, hata da vermiyorsa;
- meslek değeri boş olabilir,
- İlişkiyi kurarken
withDefault()
kullanmış olabilirsiniz, kullanıcının userdetay ilişkisi boş olsa dahi hata vermiyordur, (öteki türlü hata vermemesi için $user->userdetay?->meslek yapmanız lazım)
- Yanlış yere ya da yanlış id'ye bakıyor olabilirsiniz.
Bu şekilde gerekli kontrolleri sağlayın, dump ile değişkeni kontrol edin.
Ayrıca hem model binding kullanmışsınız hem de tekrar sorgu yapmışsınız, yani 2 kez sorgu yapmışsınız. Eğer route model binding kullanacaksanız şu şekilde de yapabilirsiniz (kursatcanciger dediğine alternatif olarak):
Route::bind('user_with_detay', function (string $value) {
return User::with('userdetay')
->find($value);
});
// ya da sadece userdetay ilişkisi olanlara bakılacaksa
Route::bind('user_with_detay', function (string $value) {
return User::has('userDetay')
->with('userdetay')
->find($value);
});
Route::get('users/{user_with_detay}', [UserController::class, 'edit']);
public function edit(User $userWithDetay){
return view('user.edit', [
'user' => $userWithDetay,
]);
}