name: MySqlGrammar class_comment: null dependencies: - name: Builder type: class source: Illuminate\Database\Query\Builder - name: JoinLateralClause type: class source: Illuminate\Database\Query\JoinLateralClause - name: Str type: class source: Illuminate\Support\Str properties: - name: operators visibility: protected comment: '# * The grammar specific operators. # * # * @var string[]' methods: - name: whereNull visibility: protected parameters: - name: query - name: where comment: "# * The grammar specific operators.\n# *\n# * @var string[]\n# */\n# protected\ \ $operators = ['sounds like'];\n# \n# /**\n# * Add a \"where null\" clause to\ \ the query.\n# *\n# * @param \\Illuminate\\Database\\Query\\Builder $query\n\ # * @param array $where\n# * @return string" - name: whereNotNull visibility: protected parameters: - name: query - name: where comment: '# * Add a "where not null" clause to the query. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $where # * @return string' - name: whereFullText visibility: public parameters: - name: query - name: where comment: '# * Compile a "where fulltext" clause. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $where # * @return string' - name: compileIndexHint visibility: protected parameters: - name: query - name: indexHint comment: '# * Compile the index hints for the query. # * # * @param \Illuminate\Database\Query\Builder $query # * @param \Illuminate\Database\Query\IndexHint $indexHint # * @return string' - name: compileGroupLimit visibility: protected parameters: - name: query comment: '# * Compile a group limit clause. # * # * @param \Illuminate\Database\Query\Builder $query # * @return string' - name: useLegacyGroupLimit visibility: public parameters: - name: query comment: '# * Determine whether to use a legacy group limit clause for MySQL < 8.0. # * # * @param \Illuminate\Database\Query\Builder $query # * @return bool' - name: compileLegacyGroupLimit visibility: protected parameters: - name: query comment: '# * Compile a group limit clause for MySQL < 8.0. # * # * Derived from https://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-models-per-parent/. # * # * @param \Illuminate\Database\Query\Builder $query # * @return string' - name: compileInsertOrIgnore visibility: public parameters: - name: query - name: values comment: '# * Compile an insert ignore statement into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $values # * @return string' - name: compileInsertOrIgnoreUsing visibility: public parameters: - name: query - name: columns - name: sql comment: '# * Compile an insert ignore statement using a subquery into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $columns # * @param string $sql # * @return string' - name: compileJsonContains visibility: protected parameters: - name: column - name: value comment: '# * Compile a "JSON contains" statement into SQL. # * # * @param string $column # * @param string $value # * @return string' - name: compileJsonOverlaps visibility: protected parameters: - name: column - name: value comment: '# * Compile a "JSON overlaps" statement into SQL. # * # * @param string $column # * @param string $value # * @return string' - name: compileJsonContainsKey visibility: protected parameters: - name: column comment: '# * Compile a "JSON contains key" statement into SQL. # * # * @param string $column # * @return string' - name: compileJsonLength visibility: protected parameters: - name: column - name: operator - name: value comment: '# * Compile a "JSON length" statement into SQL. # * # * @param string $column # * @param string $operator # * @param string $value # * @return string' - name: compileJsonValueCast visibility: public parameters: - name: value comment: '# * Compile a "JSON value cast" statement into SQL. # * # * @param string $value # * @return string' - name: compileRandom visibility: public parameters: - name: seed comment: '# * Compile the random statement into SQL. # * # * @param string|int $seed # * @return string' - name: compileLock visibility: protected parameters: - name: query - name: value comment: '# * Compile the lock into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param bool|string $value # * @return string' - name: compileInsert visibility: public parameters: - name: query - name: values comment: '# * Compile an insert statement into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $values # * @return string' - name: compileUpdateColumns visibility: protected parameters: - name: query - name: values comment: '# * Compile the columns for an update statement. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $values # * @return string' - name: compileUpsert visibility: public parameters: - name: query - name: values - name: uniqueBy - name: update comment: '# * Compile an "upsert" statement into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param array $values # * @param array $uniqueBy # * @param array $update # * @return string' - name: compileJoinLateral visibility: public parameters: - name: join - name: expression comment: '# * Compile a "lateral join" clause. # * # * @param \Illuminate\Database\Query\JoinLateralClause $join # * @param string $expression # * @return string' - name: compileJsonUpdateColumn visibility: protected parameters: - name: key - name: value comment: '# * Prepare a JSON column being updated using the JSON_SET function. # * # * @param string $key # * @param mixed $value # * @return string' - name: compileUpdateWithoutJoins visibility: protected parameters: - name: query - name: table - name: columns - name: where comment: '# * Compile an update statement without joins into SQL. # * # * @param \Illuminate\Database\Query\Builder $query # * @param string $table # * @param string $columns # * @param string $where # * @return string' - name: prepareBindingsForUpdate visibility: public parameters: - name: bindings - name: values comment: '# * Prepare the bindings for an update statement. # * # * Booleans, integers, and doubles are inserted into JSON updates as raw values. # * # * @param array $bindings # * @param array $values # * @return array' - name: compileDeleteWithoutJoins visibility: protected parameters: - name: query - name: table - name: where comment: '# * Compile a delete query that does not use joins. # * # * @param \Illuminate\Database\Query\Builder $query # * @param string $table # * @param string $where # * @return string' - name: wrapValue visibility: protected parameters: - name: value comment: '# * Wrap a single string in keyword identifiers. # * # * @param string $value # * @return string' - name: wrapJsonSelector visibility: protected parameters: - name: value comment: '# * Wrap the given JSON selector. # * # * @param string $value # * @return string' - name: wrapJsonBooleanSelector visibility: protected parameters: - name: value comment: '# * Wrap the given JSON selector for boolean values. # * # * @param string $value # * @return string' traits: - Illuminate\Database\Query\Builder - Illuminate\Database\Query\JoinLateralClause - Illuminate\Support\Str interfaces: []