如何使用where语句比较1个表中的2个数据?

时间:2017-11-06 08:32:25

标签: mysql laravel eloquent

$users = User::where('id', 'parent_id')->get();

id和parent_id在同一个表中。我想从用户表中获取id和parent_id相等的所有数据。我怎么能在Laravel那里做到这一点?

2 个答案:

答案 0 :(得分:0)

你应该试试这个:

$users = User::whereColumn('id', 'parent_id')->get();

答案 1 :(得分:0)

您面临的问题是您想知道如何检查用户是否没有推介。你可以这样做:

在您的用户模型中添加引用者关系。

public function referrer()
{
    return $this->hasOne(self::class, 'parent_id');
}

然后您可以这样查询:

User::doesntHave('referrer')->get();