applyBeforeQueryCallbacks(); // // $sql = $this->grammar->compileMassUpdateWithFrom($this, $values, $uniqueBy); // // return $this->connection->massUpdate($sql, $this->cleanBindings( // $this->grammar->prepareBindingsForMassUpdateWithFrom($this->bindings, $values) // )); // }); Builder::macro('joinFrom', function (array $items, $tableAlias, $first, $operator = null, $second = null, $type = 'inner', $where = false) { $table = $this->grammar->compileJoinFrom($this, $items, $tableAlias); $bindings = $this->grammar->prepareBindingsJoinFrom($items); $this->addBinding($bindings, 'join'); return $this->join($this->raw($table), $first, $operator, $second, $type, $where); }); } }