[英]How to define Eloquent relationship in Laravel
我有兩個模型-下表的用戶模型和電影模型
用戶表具有以下列
電影表具有以下列
如何在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.