Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未找到列-Laravel whereHas error_Php_Laravel_Eloquent - Fatal编程技术网

Php 未找到列-Laravel whereHas error

Php 未找到列-Laravel whereHas error,php,laravel,eloquent,Php,Laravel,Eloquent,我很难解决这个错误 我的模型: 用户模型: class User extends Model{ public function requests() { return $this->hasMany('App\Models\TeamRequest','requested_user_id'); } } 团队请求模型: class TeamRequest extends Model { public function requested_use

我很难解决这个错误

我的模型:

用户模型:

class User extends Model{
    public function requests()
    {
        return $this->hasMany('App\Models\TeamRequest','requested_user_id');
    }
}
团队请求模型:

class TeamRequest extends Model {

    public function requested_user()
    {
        return $this->belongsTo('App\Models\User', 'requested_user_id');
    }
}
现在,我正在尝试以下查询:

UserModel::whereHas('requests',function($query) use ($team_id){
            $query->where('team_id',$team_id)
                    ->get();
        });
我得到一个错误:

未找到列:“where子句”中的1054未知列“users.id” (SQL:从
team\u请求中选择count(*)
where
团队请求
请求的用户id
=
用户
id

为什么我会犯这个错误

模式:

用户表

主键-id

varchar-电子邮件

varchar-密码

团队请求表

主键-id

整数-请求的\u用户\u id


我有其他列,但我相信它们没有效果。

您的问题是在传递给您的
whereHas()
的闭包中调用
get()
。闭包用于向子查询添加约束,该子查询将用于确定用户是否有请求。您只需要在闭包内向查询添加约束,而不希望实际执行该查询。如果在闭包内执行查询,您将得到一个错误(如您所见),因为它应该是一个子查询,并且没有正确执行所需的所有信息

您的代码应该是:

UserModel::whereHas('requests', function ($query) use ($team_id) {
    $query->where('team_id', $team_id);
});

在那里,我添加了schema,实际上,我正在进行一种朋友请求和接受类型的应用程序。所以,这就是我所用的。@Jilsontomas我试过了,但仍然得到了一个错误-未知列
users。请求的\u user\u id
yes,这是最有趣和最恼人的。同样的错误。看起来整个PHP都在密谋反对我/