Merhaba! Ben Aykhan, 1999 doğumlu bir Azerbaycanlıyım ve 2017 yılından bu yana programlamayla ilgileniyorum. Teknolojinin büyülü dünyası beni her zaman etkilemiştir ve bu merakımı kendi blogumda paylaşarak daha geniş bir kitleyle buluşturmayı amaçlıyorum.
belongsTo
ilişki metodu, Laravel'de iki model arasındaki "bir ilişkiye ait olma" (many-to-one) ilişkisini tanımlamak için kullanılır. Bu, bir modelin başka bir modele ait olduğunu belirtir. Daha net anlamak için, belongsTo
ilişkisi genellikle bir yabancı anahtarı (foreign key) olan tabloda tanımlanır.
belongsTo
İlişkisinin Kullanımı
belongsTo
ilişkisi genellikle şu durumlarda kullanılır:
- Bir modele ait olan bir diğer model: Örneğin, bir
UserLogin
kaydı birUser
'a aittir. - Çocuk modelin ebeveyne referansı:
UserLogin
(çocuk)User
(ebeveyn) modeline ait olur.
Örnek: User
ve UserLogin
İlişkisi
Daha önceki örnekte, kullanıcı girişleri için bir UserLogin
tablosu tanımlamıştık. Her giriş kaydı bir kullanıcıya ait olduğu için, UserLogin
modelinde belongsTo
ilişkisini tanımlarız.
UserLogin
Modelinde İlişki:
use Illuminate\Database\Eloquent\Model;
class UserLogin extends Model
{
// UserLogin tablosunda user_id adında bir foreign key olduğunu varsayıyoruz.
public function user()
{
return $this->belongsTo(User::class);
}
}
Bu ilişki, UserLogin
modelinin her bir kaydının User
modeline ait olduğunu belirtir. Yani, her UserLogin
kaydı bir kullanıcıya (User) aittir.
Nasıl Çalışır?
belongsTo
Metodu:user_id
gibi yabancı anahtar (foreign key) kolonunu kullanarak, ilişkiliUser
kaydını bulur.- Erişim: İlişki sayesinde, bir
UserLogin
kaydının hangi kullanıcıya ait olduğunu bulabiliriz. Örneğin:
$login = UserLogin::find(1);
echo $login->user->name; // Bu, giriş kaydının ait olduğu kullanıcının ismini gösterir.
Bu örnek, UserLogin
kaydının user
ilişkisini kullanarak ilgili User
kaydını çekip, o kullanıcının adını gösterir.
Özetle, belongsTo
bir modelin başka bir modele ait olduğunu ve ilişkili verileri çekmek için nasıl bir bağlantı kurulduğunu belirtmek için kullanılır.