簡體   English   中英

如何在Laravel中定義雄辯的關系

[英]How to define Eloquent relationship in Laravel

我有兩個模型-下表的用戶模型和電影模型

用戶表具有以下列

  • ID
  • 年齡

電影表具有以下列

  • ID
  • MIN_AGE

如何在User模型上定義一個關系,以便對於每個用戶,我都能獲得所有遵循約束的電影:

Movie.min_age <=用戶年齡

我知道我可以查詢Movie模型並獲取所有min_age小於或等於用戶年齡的電影。 我的問題是,如何通過使用hasMany()belongsToMany()之類的函數在User模型內部定義一個雄辯的關系來實現?

因此用戶可以觀看許多電影。 同時可以從許多用戶處觀看電影。

在User.php上

public function movies(){

   return $this->hasMany(Movie::class);
 }

在Movie.php上

public function users(){
  return $this->belongsToMany(User::class);
}

為了通過關系獲得您想要的東西,您可以執行以下操作:

假設您還設置了一個身份驗證系統。

$user = Auth::user();

$getMovies = $user->movies()->where('min_age','<=',$user->age)->get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM