php - 如何查询 Laravel Eloquent
问题描述
我是 Laravel 的新手。我对laravel关系有疑问。你们能帮帮我吗?
我有四张桌子:
1. Users
2. Teams
3. Games
4. Picks
Picks是我的中间表模型
1. id
2. user_id
3. team_id
4。game_id
用户类
class User extends Model
{
public function picks()
{
return $this->hasMany('App\Models\Pick');
}
}
团队班
class Team extends Model
{
public function picks()
{
return $this->hasMany('App\Models\Pick');
}
}
游戏课
class Game extends Model
{
public function picks()
{
return $this->hasMany('App\Models\Pick');
}
}
class Pick extends Model
{
public function users()
{
return $this->belongsToMany('App\Models\User');
}
public function teams()
{
return $this->belongsToMany('App\Models\Team');
}
public function schedules()
{
return $this->belongsToMany('App\Models\Schedule');
}
}
如何将此查询转换为雄辩的?
"SELECT * FROM `games` AS g LEFT JOIN `picks` as p ON p.game_id = g.id LEFT JOIN `users` as u ON u.id = p.user_id WHERE u.id = 1;"
我想通过用户 ID 选择游戏。
解决方案
推荐阅读
- php - 什么是存储和计算用户积分的好方法和灵活的方法?
- apache-spark - 有什么方法可以查看广播变量的大小?
- python-3.x - java.util.NoSuchElementException:找不到密钥:_PYSPARK_DRIVER_CALLBACK_HOST
- algorithm - 生成大量唯一随机数(理论上)
- pandas - 将数据从其他数据帧填充到空数据帧中
- c# - 文件浏览器对话框 MVVM C#,返回视图模型的完整路径并在视图中仅显示文件名
- angular - 如何防止材质图标文本出现在材质选择中
- sql - 在 oracle 中以逗号分隔的字符串应用 order by
- java - 如何从特定列中获取所有价格添加并打印它们
- python - pyinstaller 3.3.1 不适用于 openpyxl 2.4.1