Giriş yapmadınız.

#1 05.02.2018 18:08:34

emineker
Üye
Kayıtlı: 05.02.2018
Mesajlar: 5

Profille ilgili benimde bir sorum olacak.

Tartışma başlıklarını görünce aklıma bir konu geldi profile/username 'url den kullanıcı adını alarak  kullanıcıyı bulup   $post->user->name şeklinde  bilgilerini  yazdırabilirmiyim

Çevrimdışı

#2 06.02.2018 02:24:10

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,665
Website

Yanıt: Profille ilgili benimde bir sorum olacak.

$post->user->name şeklinde Post modelinden User modeline erişmek için Post ile User arasında one-to-one (bir Post'un sadece bir User'a ait olduğunu varsayarsak) ilişkisi kurmanız gerekiyor:

// Post.php
public function user()
{
    return $this->belongsTo(User::class); // İkinci parametre olarak foreign key belirtmediğim için Eloquent onu user_id olarak alacak. Eğer farklı ise ikinci parametre olarak ekleyebilirsiniz
}

Aynı şekilde User üzerinden User'a ait Post'lara (bir User'ın birden fazla Post'a sahip olduğunu varsayarsak) ulaşmak için one-to-many ilişkisi kurmalısınız:

// User.php
public function posts()
{
    return $this->hasMany(Post::class); // İkinci parametre olarak foreign key belirtmediğim için Eloquent onu user_id olarak alacak. Eğer farklı ise ikinci parametre olarak ekleyebilirsiniz
}

Bu durumda:

$post = Post::find(1);
dump($post->user); // Post'un sahibi User

// ya da

$user = User::find(1);
dump($user->posts); // User'a ait tüm Post'lar

Son düzenleyen mgsmus (06.02.2018 10:19:04)

Çevrimdışı

#3 06.02.2018 18:10:18

emineker
Üye
Kayıtlı: 05.02.2018
Mesajlar: 5

Yanıt: Profille ilgili benimde bir sorum olacak.

Dediğiniz şekilde POST.php ve USER.php düzenledim lakin
$post = Post::find(1);
dump($post->user); // Post'un sahibi User post ettirmeye çalıştımda  şu hatayı alıyorum. "Trying to get property of non-object" Kullanıcıyı vebilgilerini bulamıom ilan sahibinin . çözemedim
{{@$post->user->name}} ve {{@$user->name}} ve {{@$post->name}} ve {{@$post->user->contact_name}} ve {{@$posts->contact_name}}
Bütün post sistemlerini denedim

Çevrimdışı

#4 06.02.2018 20:39:20

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,665
Website

Yanıt: Profille ilgili benimde bir sorum olacak.

Öncelikle id'si 1 olan bir Post olduğundan emin olun.

Ayrıca posts tablonuzda user_id şeklinde bir alan var değil mi?

Çevrimdışı

#5 06.02.2018 21:31:20

emineker
Üye
Kayıtlı: 05.02.2018
Mesajlar: 5

Yanıt: Profille ilgili benimde bir sorum olacak.

Post tablomda user_id var aynı zamanda user tablomda da id şeklinde yer alıyor çok yöntem denedim ama bir türlü url deki profil usernami ile bulduramadım ilan sahbinin verilerini. ikinci secenegi denedim de de 1. sıradaki üyenin post tablosundaki verilerini post ediyor ilan sahibin degil

Çevrimdışı

#6 07.02.2018 09:44:09

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,665
Website

Yanıt: Profille ilgili benimde bir sorum olacak.

dump($post->user); kısmında Trying to get property of non-object hatası alıyorsanız $post null dönüyor demektir. id'si 1 olan POST'u bulamadı yani. $post = Post::find(1); yerine $post = Post::findOrFail(1); kullanırsanız ModelNotFoundException fırlatacaktır.

Çevrimdışı

#7 07.02.2018 17:31:22

emineker
Üye
Kayıtlı: 05.02.2018
Mesajlar: 5

Yanıt: Profille ilgili benimde bir sorum olacak.

Cevabınız için teşekkürler. evet şuan denedim. ve post tablosunda user_id 'si 1 olan kullanıcıyı bulup dökümünü aldım ama profil  sahibinin bilgilerini alamadım sadece user_id si 1 olanı alabiliyorum farklı profillerde . 1 haftadır uğraşıyorum psikolejim bozuldu sanrm smile çok basit bir olayın bu denli çalışmamakdaki direnci laravele küstürmek üzere detaylı bilgi verirseniz karşılıksız kalmaz teşekkürler

Çevrimdışı

#8 07.02.2018 19:10:09

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,665
Website

Yanıt: Profille ilgili benimde bir sorum olacak.

Profil sahibi dediğiniz kim? Şu an giriş yapmış olan kullanıcı mı?

Çevrimdışı

#9 07.02.2018 19:22:13

emineker
Üye
Kayıtlı: 05.02.2018
Mesajlar: 5

Yanıt: Profille ilgili benimde bir sorum olacak.

Hayır ilan veren üyelerin  birde profil sayfaları var. bu sayfada ilanın verenin ilanları listeleniyor. ben bu kısma ilan sahinin adını telefon numarasını falanda post etmeye çalışıyorum ama ben giriş yaptığım için Auth olarak sanırım direk benim bilgilerimi gönderiyor. ilan sahibinin ilanları post tablosundan gönderildiği için user tablosundan bağlantısını kuramadım önceki konularda dikkatimi çekti o onları denedim olmadı .

Çevrimdışı

#10 08.02.2018 01:39:09

kgurleyen
Üye
Kayıtlı: 02.02.2018
Mesajlar: 15

Yanıt: Profille ilgili benimde bir sorum olacak.

Implicit Binding

Route::get('api/users/{user}', function (App\User $user) {
    return $user->email;
});

çeviri :

Bu örnekte, rota üzerinde tanımlanan Eloquent tipi ipuculu $ kullanıcı değişkeninin, rota URI'sindeki {user} bölümüyle eşleşmesi nedeniyle, Laravel, talep URI'sinden karşılık gelen değere eşleşen bir kimliğe sahip olan model örneğini otomatik olarak enjekte edecektir.

Eşleşen bir model örneği veritabanında bulunamazsa, bir 404 HTTP yanıtı otomatik olarak oluşturulacaktır.
https://laravel.com/docs/5.2/routing#ro … el-binding

Çevrimdışı

Forum alt kısmı