public function join($type, $table, $conditions=null, $recursive=true) {
		if($recursive && is_array($table)) {
			foreach($table as $_table=>$_conditions) {
				if($_conditions instanceof static)
					$this->join($type, $table, $conditions, false);
				elseif($_conditions instanceof Raw)
					$this->join($type, $table, $conditions, false);
				else
					$this->join($type, $_table, $_conditions);
			}

			return $this;
		}

		#for tables that are static or Raw
		if(is_array($table)) {
			$alias = array_keys($table)[0];
			$table = array_values($table)[0];
		}
		else {
			$table_alias = explode(' ', $table);
			$table = $table_alias[0];
			if(isset($table_alias[1]))
				$alias = $table_alias[1];
			else
				$alias = $table;
		}

		$this->joins[$alias] = [$type, $table, $conditions];

		return $this;
	}
public function join($type, $table, $conditions=null, $recursive=true) {
		if($recursive && is_array($table)) {
			foreach($table as $_table=>$_conditions) {
				if($_conditions instanceof static)
					$this->join($type, $table, $conditions, false);
				elseif($_conditions instanceof Raw)
					$this->join($type, $table, $conditions, false);
				else
					$this->join($type, $_table, $_conditions);
			}

			return $this;
		}

		#for tables that are static or Raw
		if(is_array($table)) {
			$alias = array_keys($table)[0];
			$table = array_values($table)[0];
		}
		else {
			$table_alias = explode(' ', $table);
			$table = $table_alias[0];
			if(isset($table_alias[1]))
				$alias = $table_alias[1];
			else
				$alias = $table;
		}

		$this->joins[$alias] = [$type, $table, $conditions];

		return $this;
	}
public function join ( $ type , $ table , $ conditions = null , $ recursive = true ) { if ( $ recursive && is_array ( $ table ) ) { foreach ( $ table as $ _table => $ _conditions ) { if ( $ _conditions instanceof static ) $ this -> join ( $ type , $ table , $ conditions , false ) ; elseif ( $ _conditions instanceof Raw ) $ this -> join ( $ type , $ table , $ conditions , false ) ; else $ this -> join ( $ type , $ _table , $ _conditions ) ; } return $ this ; } #for tables that are static or Raw
 if ( is_array ( $ table ) ) { $ alias = array_keys ( $ table ) [ 0 ] ; $ table = array_values ( $ table ) [ 0 ] ; } else { $ table_alias = explode ( ' ' , $ table ) ; $ table = $ table_alias [ 0 ] ; if ( isset ( $ table_alias [ 1 ] ) ) $ alias = $ table_alias [ 1 ] ; else $ alias = $ table ; } $ this -> joins [ $ alias ] = [ $ type , $ table , $ conditions ] ; return $ this ; }
Create a jointure.
@param  string       $type
@param  string|array $table
@param  string|array $conditions
@param  boolean      $recursive  can $table contain multiple jointures
@return DAL          $this
Create a jointure .