framework/db/Query.php
public function join($type, $table, $on = '', $params = [])
    {
        $this->join[] = [$type, $table, $on];
        return $this->addParams($params);
    }
public function join($type, $table, $on = '', $params = [])
    {
        $this->join[] = [$type, $table, $on];
        return $this->addParams($params);
    }
public function join ( $ type , $ table , $ on = '' , $ params = [ ] ) { $ this -> join [ ] = [ $ type , $ table , $ on ] ; return $ this -> addParams ( $ params ) ; }
Appends a JOIN part to the query.
The first parameter specifies what type of join it is.
@param string $type the type of join, such as INNER JOIN, LEFT JOIN.
@param string|array $table the table to be joined.

Use a string to represent the name of the table to be joined.
The table name can contain a schema prefix (e.g. 'public.user') and/or table alias (e.g. 'user u').
The method will automatically quote the table name unless it contains some parenthesis
(which means the table is given as a sub-query or DB expression).

Use an array to represent joining with a sub-query. The array must contain only one element.
The value must be a [[Query]] object representing the sub-query while the corresponding key
represents the alias for the sub-query.

@param string|array $on the join condition that should appear in the ON part.
Please refer to [[where()]] on how to specify this parameter.

Note that the array format of [[where()]] is designed to match columns to values instead of columns to columns, so
the following would **not** work as expected: `['post.author_id' => 'user.id']`, it would
match the `post.author_id` column value against the string `'user.id'`.
It is recommended to use the string syntax here which is more suited for a join:

```php
'post.author_id = user.id'
```

@param array $params the parameters (name => value) to be bound to the query.
@return $this the query object itself
Appends a JOIN part to the query . The first parameter specifies what type of join it is . @param string $type the type of join such as INNER JOIN LEFT JOIN . @param string|array $table the table to be joined .