未定义 属性 用户的 $id。但是用户有ID

Undefined property $id for users. But user has ID

我正在尝试在 Laravel 中建立查询。

我有两张桌子,具有以下属性

用户

租户偏好

我正在尝试从特定类型的用户那里获取数据集合,其中用户 ID 与首选项中的 user_id 相匹配。

但是我得到这个错误

Undefined property: Illuminate\Database\Eloquent\Builder::$id

$tenants = User::where('userType', 'tenant');
    $Prefereances = TenantPreferance::where($tenants->id, $Prefereances->user_id);
    $users = $Prefereances->get();

您实际上需要 运行 构建 sql。您还需要找出其中的一个单一事件。所以我在这种情况下使用 first() 。像这样 $tenants = User::where('userType', 'tenant')->first();

for : $tenants = User::where('userType', 'tenant'); 必须添加: 第一个()

$tenants = User::where('userType', 'tenant')->first();

或:get()

 $tenants = User::where('userType', 'tenant')->get();
$tentants =  User::with('TenantPreferance')->where('userType', 'tenant')->get();

其中 TenantPreferance 是关系名称