使用 Where 和 Eloquent 获取数据库结果
Posted
技术标签:
【中文标题】使用 Where 和 Eloquent 获取数据库结果【英文标题】:Get database result using Where and Eloquent 【发布时间】:2020-05-16 15:28:07 【问题描述】:我开始使用 Laravel 框架创建一个新应用程序,我有两个模型 user 和 preference
用户模型包含:
public function preference()
return $this->hasOne(Preference::class);
偏好模型包含:
public function user()
return $this->belongsTo(User::class);
如何在我的控制器中使用 where 语句,即: where preferencesTable.cityField = 'NY'
这是我的控制器代码:
$users = User::where(['field in preference table' => 'NY'])->preference;
我想使用 where 子句获取用户数据和偏好数据
注意:* 我的偏好表中有一个名为 city 的字段
【问题讨论】:
【参考方案1】:这应该只返回偏好城市 = NY 的用户:
User::whereHas('preference', function($query)
$query->where('city', 'NY');
)->get()
【讨论】:
谢谢,为什么我得到 Null $user = Auth::user(); dd($user->gender); Auth::user() 仅在有登录用户时才有效。您应该先登录以上是关于使用 Where 和 Eloquent 获取数据库结果的主要内容,如果未能解决你的问题,请参考以下文章
将 Haversine 公式与 Laravel eloquent 和多个 where 子句一起使用
使用 Eloquent 在 Laravel 中使用 where 子句访问嵌套的相关对象