I have a distributor model with a BelongsTo relation and a user model with a HasOne relation, and I tried to retrieve them in order (verified date) using BuilderQuery.
 // User relation
 public function user()
 {
    return $this->belongsTo(User::class);
 }
 // Distributor relation
 public function distributor()
 {
    return $this->hasOne(Distributor::class);
 }
// Query
if (!empty(request("sortBy"))) {
    $column = explode("__", request("sortBy"))[0];
    $sortBy = strtoupper(explode("__", request("sortBy"))[1]);
    $query->with("distributor");
    if ($column === "verified_date" || $column === "phone") {
        // Try 1 - Errors raised
        $query->join('distributors', 'distributors.user_id', '=', 'users.id')
          ->orderBy('distributors.' . $column, $sortBy);
        // Try 2 - Errors raised
        // $query->select('users.*')
        // ->join('distributors', 'distributors.user_id', '=', 'users.id')
        // ->orderBy('distributors.' . $column, $sortBy);
        // Try 3 - No Errors raised but results returned with incorrect orders
        // $query->orderBy(Distributor::select($column)
        //     ->whereColumn('distributors.user_id', 'users.id')
        // );
    } else {
        $query->orderBy($column, $sortBy);
    }
} else {
    $query->orderBy("updated_at", "desc");
}
When run this code, I got errors saying SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
How can I solve this?