我正在尝试在Laravel中建立一个查询。
我有两张桌子,以下是attirbuteds
用户
TenantPreferance
我正在尝试从某个类型的用户那里获取一组数据,其中用户的ID与首选项中的user_id匹配。
但是我收到了这个错误
未定义的属性:Illuminate \ Database \ Eloquent \ Builder :: $ id
$tenants = User::where('userType', 'tenant');
$Prefereances = TenantPreferance::where($tenants->id, $Prefereances->user_id);
$users = $Prefereances->get();
答案 0 :(得分:1)
for:$ tenants = User :: where(' userType',' tenant'); 必须添加: 第一个()
$tenants = User::where('userType', 'tenant')->first();
或:get()
$tenants = User::where('userType', 'tenant')->get();
答案 1 :(得分:0)
您需要实际运行构建的sql。你还需要得到一个单一的事件。所以我在这个例子中使用first()。像这样
$tenants = User::where('userType', 'tenant')->first();
答案 2 :(得分:0)
$tentants = User::with('TenantPreferance')->where('userType', 'tenant')->get();
其中TenantPreferance是关系名称